home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / ast_text / faqs / tcl-faq < prev    next >
Encoding:
Text File  |  1993-06-29  |  107.7 KB  |  3,129 lines

  1. Newsgroups: comp.lang.tcl,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!usc!sdd.hp.com!caen!malgudi.oar.net!chemabs!lvirden
  3. From: lwv26@cas.org (Larry W. Virden)
  4. Subject: FAQ: comp.lang.tcl Frequently Asked Questions (1/3)
  5.     (Last updated: June 16, 1993)
  6. Message-ID: <tcl.p1_740234997@cas.org>
  7. Followup-To: comp.lang.tcl
  8. Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions 
  9.     (FAQ) and their answers.  This is the first of three parts.
  10.     This part introduces Tcl and Tk and discusses documentation, etc.
  11. Originator: lwv26@lwv26aws
  12. Keywords: tcl, extended tcl, tk, expect
  13. Sender: lvirden@cas.org
  14. Supersedes: <tcl.p1_737658025@cas.org>
  15. Reply-To: lvirden@cas.org (Larry W. Virden)
  16. Organization: Chemical Abstracts Service
  17. Date: Wed, 16 Jun 1993 12:50:10 GMT
  18. Approved: news-answers-request@MIT.Edu
  19. Expires: Wed, 28 Jul 1993 12:49:57 GMT
  20. Lines: 545
  21. Xref: senator-bedfellow.mit.edu comp.lang.tcl:4757 comp.answers:1024 news.answers:9490
  22.  
  23. Archive-name: tcl-faq/part1
  24. Version: 3.3
  25. Last-modified: June 16, 1993
  26.  
  27.  
  28.     For more information concerning Tcl (see "tcl-faq/part2") or
  29. (see "tcl-faq/part3").
  30.  
  31. Index of questions:
  32.  
  33. I.   Origin of the comp.lang.tcl FAQ information.
  34. II.  What is Tcl?  Tk?  Extended Tcl?
  35. III. Do these packages run on my machine?
  36.     A. Unix
  37.     B. MacOS
  38.     C. MS-DOS
  39.     D. VMS
  40.     E. AmigaDOS
  41. IV.  Other than C, What languages can talk to tcl/tk?
  42.     A. Shell
  43.     B. C++
  44.         C. Modula-3
  45.     D. Eiffel
  46.     E. Other
  47. V.   Is there a bibliography of material relating to these programs?
  48.     A. The Tcl distribution 
  49.     B. The Expect distribution
  50.     C. Miscellaneous other online materials
  51.     D. Published articles
  52.     E. Training courses, materials, etc.
  53.     F. Time-related seminars, conferences, sessions.
  54. VI.  Where do I report problems, bugs, or enhancements - or -
  55.     What is comp.lang.tcl?
  56. VII. Where can I find the FAQ and who do I contact for more information 
  57.     about it?
  58.     
  59. End of FAQ Index
  60.  
  61. ----------------------------------------------------------------------
  62.  
  63. ------------------------------
  64.  
  65. From: FAQ General information
  66. Subject: -I- Origin of the comp.lang.tcl FAQ information.
  67.  
  68.     The information in this set of FAQs comes from 3 sources.  The
  69. primary source of information is the group itself - I spend (much too
  70. much) time each month culling through what I feel are some of the best
  71. answers, gathering up new information on ports, etc. and adding it
  72. here.  I also gather new application information and add it as
  73. best I can.  The next most predominant source of information comes from
  74. the authors of the various software packages.  Finally, a small amount
  75. comes from my personal experiences.
  76.  
  77.     I am always on the search for folk to assist in the maintenance
  78. of these FAQs.  In fact, if you feel that you would like to coordinate
  79. this effort, PLEASE let me know!
  80.  
  81. ------------------------------
  82.  
  83. From: FAQ General information
  84. Subject: -II- What is Tcl?  Tk?  Extended Tcl? 
  85.  
  86.     Tcl (Version 6.7) stands for ``tool command language'' and is
  87. pronounced ``tickle.'' It is actually two things: a language and a
  88. library.  First, Tcl is a simple textual language, intended primarily
  89. for issuing commands to interactive programs such as text editors,
  90. debuggers, illustrators, and shells.  It has a simple syntax and is
  91. also programmable, so Tcl users can write command procedures to provide
  92. more powerful commands than those in the built-in set.
  93.  
  94.     Second, Tcl is a library package that can be embedded in
  95. application programs.  The Tcl library consists of a parser for the Tcl
  96. language, routines to implement the Tcl built-in commands, and
  97. procedures that allow each application to extend Tcl with additional
  98. commands specific to that application.  The application program
  99. generates Tcl commands and passes them to the Tcl parser for
  100. execution.  Commands may be generated by reading characters from an
  101. input source, or by associating command strings with elements of the
  102. application's user interface, such as menu entries, buttons, or
  103. keystrokes.  When the Tcl library receives commands it parses them into
  104. component fields and executes built-in commands directly.  For commands
  105. implemented by the application, Tcl calls back to the application to
  106. execute the commands.  In many cases commands will invoke recursive
  107. invocations of the Tcl interpreter by passing in additional strings to
  108. execute (procedures, looping commands, and conditional commands all
  109. work in this way).
  110.  
  111.     An application program gains three advantages by using Tcl for
  112. its command language.  First, Tcl provides a standard syntax:  once
  113. users know Tcl, they will be able to issue commands easily to any
  114. Tcl-based application.  Second, Tcl provides programmability.  All a
  115. Tcl application needs to do is to implement a few application-specific
  116. low-level commands.  Tcl provides many utility commands plus a general
  117. programming interface for building up complex command procedures.  By
  118. using Tcl, applications need not re-implement these features.  Third,
  119. extensions to Tcl, such as the Tk toolkit, provide mechanisms for
  120. communicating between applications by sending Tcl commands back and
  121. forth.  The common Tcl language framework makes it easier for
  122. applications to communicate with one another.
  123.  
  124.     Tk (Version 3.2) - an extension to Tcl which provides the
  125. programmer with an interface to the X11 windowing system.  Note that
  126. many users will encounter Tk via the ``wish'' command.  Wish is a
  127. simple windowing shell which permits the user to write Tcl applications
  128. in a prototyping environment.
  129.  
  130.     Extended Tcl (tclX) (Version 6.7c) - This is an extended set of
  131. commands for Tcl developed by Karl Lehenbauer and Mark Diekhans.  Extended Tcl
  132. is oriented towards system programming tasks, with many additional interfaces
  133. to the Unix operating system along with other useful utilities.
  134.  
  135. ------------------------------
  136.  
  137. From: FAQ General information
  138. Subject: -III- Do these packages run on my machine?
  139.  
  140. A. Unix
  141.  
  142.     Tcl runs on Suns and SunOS, DECstations running Ultrix, Dec
  143. VAXen running Ultrix or BSD, Alphas running OSF, 386s running SCO Unix,
  144. Xenix, Bell-Tech, Silicon Graphics running IRIX, HPs running HP-UX,
  145. Sequent Symmetry running Dynix.  It also has been reported to run fine under
  146. AIX 3.2 and with few problems under Mt. Xino Mach.
  147.  
  148. See the porting section below for info on porting the code to VMS as well.
  149.  
  150.     Tk (being based on Tcl) requires X11R4 or better as the only additional
  151. software requirement.
  152.  
  153. B. MacOS
  154.  
  155.     Contact W. Ross Brown <ross@bnr.ca> for the current status of
  156. the Tcl MacOS port.  Ross has a mailing list for discussion on that
  157. topic.  
  158.  
  159. C. MS-DOS
  160.  
  161.     At least four ports are available.  One unsupported port of Tcl and 
  162. Extended Tcl V6.0a, done by "Karl Lehenbauer" <Karl@NeoSoft.com>, 
  163. is available on harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl.zoo for
  164. binaries and harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl60.zoo for
  165. source.
  166.  
  167.     A port of Tcl V6.2 was done by 
  168. "John Martin" <johnm@cajal.uoregon.edu> and is available via FTP from
  169. cajal.uoregon.edu and harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl62.dos.tar.Z .
  170.  
  171.     A source code only port of Tcl V6.7, done by 
  172. PSPRENG@CIPVAX.BIOLAN.UNI-KOELN.DE (Peter Sprenger), is available from
  173. him, on wuarchive.wustl.edu, or on
  174. harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl67dos.zip .
  175.  
  176.     A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows
  177. V 3.1 ?, is available as binary at
  178. harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclbin.zip and as source at
  179. harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclsrc.zip .
  180.  
  181.  
  182. D. VMS
  183.  
  184.     A port of Tcl 6.2 and Tk 1.4 to VMS was done by Angel Li
  185. <angel@flipper.rsmas.miami.edu>.  The files were at
  186. mango.rsmas.miami.edu:/pub/tcl-vms.bck.Z and
  187. mango.rsmas.miami.edu:/pub/tk-vms.bck.Z
  188.  
  189. and were compressed with the Unix compress command.  The files were VMS
  190. BACKUP files.  A recent report has it that these files are no longer
  191. available.
  192.  
  193. A port of most of Tcl 6.7 and Tk 3.2 was done by John Kimball
  194. <jkimball@src.honeywell.com> to VMS 5.5.  The files are on:
  195. src.honeywell.com:/pub/tcl67-tk32-on-vms55.tar.Z .
  196.  
  197.  
  198. E. AmigaDOS
  199.  
  200.     Karl Lehbauer <karl@sugar.NeoSoft.com> has indicated that
  201. he started a port of Tcl 3.x to the Amiga.  He has a working
  202. version, but is no longer working on it.  His version uses the
  203. Amiga's shared libraries and implements the "send" command.
  204. He wrote a MIDI file loader and player as well.  Contact him for
  205. further details.
  206.  
  207. ------------------------------
  208.  
  209. From: FAQ General information
  210. Subject: -IV- Other than C, what languages can talk to tcl/tk?
  211.  
  212. A. Shell
  213.  
  214.     There are two standard interfaces which are shell-like.  The
  215. first is wish, which is a windowing shell like interface that is a part
  216. of the Tk package.  The second is tcl, a line command interpreter that
  217. is part of the Extended Tcl package.
  218.  
  219. B. C++
  220.  
  221.     Check out tcl++.h in Extended Tcl.  Based on an original
  222. implementation by Parag Patel, it defines a Tcl interpreter class by
  223. which Tcl interpreters can be created as objects under C++.
  224.  
  225.     Also, harbor.ecn.purdue.edu:/pub/tcl/distrib/tk3.2forC++.patch
  226. is a patch that allows tk 3.2 main.c and other extension routines
  227. to be compiled with a C++ compiler.  Thanks to Ken Yap <ken@syd.dit.csiro.au>
  228. for this code.
  229.  
  230.     Mark Diekhans and Karl Lehenbauer have used this, in
  231. combination with the handle facility in Extended Tcl, to build Tcl
  232. commands around C++ classes.
  233.  
  234.     The Tcl handle facility provides a way to manage table entries
  235. that can be referenced by a textual handle from Tcl code.  This is
  236. provided for applications that need to create data structures in one
  237. command, return a reference (i.e. pointer) to that particular data
  238. structure and then access that data structure in other commands.  An
  239. example application is file handles.
  240.  
  241.     A handle table was built containing pointers to the instances
  242. of a class that were to be accessed from Tcl, say a class `foo_cl', and
  243. then a "new" command defined that created an instance of that class and
  244. returned a Tcl handle to it.  The handle could then passed among Tcl
  245. commands that accessed each member function.  The handle is in effect
  246. an explicit `this' pointer.
  247.  
  248.     For example:
  249.  
  250.      set obj [foo_cl::new]
  251.      foo_cl::baz $obj "Hello world"
  252.      foo_cl::delete $obj
  253.  
  254. It's not totally object-oriented, but it's still very usable.
  255.  
  256. C. Modula-3
  257.  
  258.     Norman Ramsey <elan.uucp!nr> says:
  259.  
  260.     A long time back, Eric Muller posted a Modula-3 interface to
  261. the C Tcl library.  I wrote down a Modula-3/Tcl interface that used
  262. Modula-3 types rather than C types, and that used objects to build
  263. closures for commands.  I wrote part of the implementation but never
  264. finished it.  I have mailed copies to carroll@udel.edu, who asked the
  265. question, and I will post them if there seems to be general interest.
  266.  
  267. D. Eiffel
  268.  
  269.     stephan@cs.tu-berlin.de (Stephan Herrmann) says:
  270.  
  271.     ... [the tclish package provides] the marriage of two very different
  272. principles by means of combining two programming languages into a
  273. hybrid program architecture.  A paper, plus sample code, is available by
  274. ftp from ftp.dcs.gla.ac.uk:/pub/glasgow-fp/authors/Duncan_Sinclair/fumx.* .
  275.  
  276. E. Other
  277.  
  278.     Duncan Sinclair has hacked into wish.c some hooks for a Tk <->
  279. any language system, and has been using it for communication with functional
  280. languages such as Haskell and Lazy ML.  
  281.  
  282.     Contact him at Duncan Sinclair <sinclair@dcs.gla.ac.uk> 
  283. for more details.
  284.  
  285. ------------------------------
  286.  
  287. From: FAQ General information
  288. Subject: -V- Is there a bibliography of material relating to these 
  289.         programs?
  290.  
  291. A. The Tcl distribution 
  292.  
  293.     With the Tcl distribution there is a Postscript version of a Usenix
  294. paper introducing Tcl.  With the Tk distribution, there is a Postscript
  295. version of a Usenix paper introducing Tk.
  296.  
  297. Ousterhout, J.K., (1990) ``TCL: An Embeddable Command Language'', in
  298. the Proceedings of the 1990 Winter USENIX Conference, pp 133-146.
  299.  
  300. Ousterhout, J.K., (1991) ``An X11 Toolkit Based on the TCL Language'',
  301. in the Proceedings of the 1991 Winter USENIX Conference, pp 105-115.
  302.  
  303. Postscript file for introductory papers on Tcl and Tk are available as
  304. the public FTP area on sprite.berkeley.edu (Internet address
  305. 128.32.150.27).  Their address is:
  306.  
  307. sprite.berkeley.edu:/tcl/tclUsenix90.ps
  308. sprite.berkeley.edu:/tcl/tkUsenix91.ps
  309. sprite.berkeley.edu:/tcl/tkF10.ps
  310.  
  311. (The last of these files is the contents of Figure 10 of the Tk paper)
  312.  
  313. If you have trouble retrieving the papers via FTP or printing them,
  314. send bmiller@sprite.berkeley.edu your U.S. Mail address and he will mail
  315. you paper copies.
  316.  
  317. B. The Expect distribution
  318.  
  319.     With the Expect distribution, there are several Postscript documents
  320. available which have been published.
  321.  
  322. 1. "Curing Those Uncontrollable Fits of Interaction", Proceedings of the
  323. Summer 1990 USENIX Conference, Anaheim, CA, June 11-15, 1990.  
  324.  
  325. This paper is discussion of implementation, philosophy, and design.  
  326. It's address is:
  327.  
  328. ftp.cme.nist.gov:/pub/expect/seminal.ps.Z 
  329.  
  330. 2. "Using expect to Automate System Administration Tasks", Proceedings of
  331. the 1990 USENIX Large Systems Administration Conference (LISA) IV,
  332. Colorado Springs, CO, October 17-19, 1990.  
  333.  
  334. This paper is discussion and examples, specifically aimed at system 
  335. administrators.  The address of this paper is:
  336.  
  337. ftp.cme.nist.gov:/pub/expect/sysadm.ps.Z
  338.  
  339. 3. "expect: Scripts for Controlling Interactive Programs", Computing
  340. Systems, Vol. 4, No. 2, University of California Press Journals, 1991.
  341.  
  342. A comprehensive paper of example scripts.  This paper's address is:
  343.  
  344. ftp.cme.nist.gov:/pub/expect/scripts.ps.Z
  345.  
  346. 4. "Regression Testing and Conformance Testing Interactive Programs",
  347. Proceedings of the Summer 1992 USENIX Conference, San Antonio, CA,
  348. June 8-12, 1992. 
  349.  
  350. This paper discusses the application of expect to the verification
  351. of software.
  352.  
  353. This paper's address is:
  354.  
  355. ftp.cme.nist.gov:/pub/expect/regress.ps.Z
  356.  
  357. 5. "Kibitz - Connecting Multiple Interactive Programs Together",
  358. Software - Practice & Experience, John Wiley & Sons, West
  359. Susses, England, Vol. 23, No. 5, May 1993.
  360.  
  361. This paper is a discussion of using Tcl and Expect to connect multiple
  362. interactive programs together.
  363.  
  364. This paper's address is:
  365.  
  366. ftp.cme.nist.gov:/pub/expect/kibitz.ps.Z
  367.  
  368. C. Miscellaneous other online materials
  369.  
  370. 1. The ftp address for a FrameMaker MIF file containing a Quick Reference guide 
  371. to Tcl is:
  372.  
  373. harbor.ecn.purdue.edu:/pub/tcl/docs/QuickRef.tar.Z 
  374.  
  375. Many thanks to "Jeff Tranter" <Jeff.Tranter@software.mitel.com> for 
  376. contributing it.
  377.  
  378. 2. PostScript versions of the man pages were provided by 
  379. "Adrian Ho" <adrianho@barkley.berkeley.edu>.  The addresses for these are:
  380.  
  381. harbor.ecn.purdue.edu:/pub/tcl/docs/tcl6.3.manps.tar.Z
  382. harbor.ecn.purdue.edu:/pub/tcl/docs/tclX6.2b.manps.tar.Z
  383. harbor.ecn.purdue.edu:/pub/tcl/docs/tk2.1.manps.tar.Z
  384.  
  385. 3. An early draft of a text book based on Tcl and Tk, written by
  386. John Ousterhout and to be published in 1993 by Addison-Wesley is
  387. available.
  388.  
  389. The section dealing with writing Tcl scripts is:
  390. sprite.berkeley.edu:/tcl/book.p1.ps.Z 
  391.  
  392. The section dealing with writing Tcl scripts for Tk is:
  393. sprite.berkeley.edu:/tcl/book.p2.ps.Z 
  394.  
  395. The section dealing with writing writing Tcl applications in C is:
  396. sprite.berkeley.edu:/tcl/book.p3.ps.Z 
  397.  
  398. The first two parts are about 130 pages in length and the third part is about
  399. 65 pages in length.  This is ONLY a draft and is not permitted to 
  400. be redistributed.
  401.  
  402. 3. A series of PostScript slides used in a tutorial on Tcl and Tk at
  403. the 1993 X Conference are available as:
  404.  
  405. sprite.berkeley.edu:/tcl/tut.tar.Z
  406.  
  407. D. Published articles and books
  408.  
  409. 1. Computer Shopper, V12 N12, page 862 had an article referencing Tickle, 
  410. the shareware package under Macintosh System 7 which is based on Tcl.
  411.  
  412. 2. MacWEEK, V6 N32, page 91 had an article referencing Alpha 5.0, the
  413. Macintosh editor which incorporates Tcl.
  414.  
  415. 3. Computer Language, V9 N7, page 76 had an article referencing Tcl in
  416. a hardware/software testing package which talks to a remote machine via 
  417. a proprietary interface card.
  418.  
  419. 4. SunWorld, V5 N10, pages 95-96 had a article discussing Tcl, Tk and
  420. expect.
  421.  
  422. 5. UNIX REVIEW, V11 N4, pages 93-94, by Richard Morin.  The article,
  423. a part of "The Internet Notebook", is about Tcl, Tk, and friends.
  424. It mentions a little about Tcl and Tk, where to find the
  425. sources, where to find the draft of the book, and where to find the
  426. contributed software.
  427.  
  428. 6. SunExpert, V4 N3, pages 32-36, by Richard Morin.  As part of Morin's
  429. I/Opener series of articles, this is just a brief overview of Tcl and Tk.
  430. It mentions some of the technical ideas behind Tcl and Tk, where to find
  431. the Tcl source and mentions that the draft of the book is available on
  432. allspice.berkeley.edu.  A 'hello, world' 3 line wish script is really
  433. all that is shown.
  434.  
  435. 7. Libes, Don, "Obfuscated C and Other Mysteries", Wiley & Sons,
  436. January 1993.
  437.  
  438. This book has a whole chapter on Tcl.  Aimed at the C programmer, it
  439. describes how to effectively use Tcl from C applications.  Another
  440. chapter is on Expect - a walk-through of some of the more interesting
  441. code in Expect.  These chapters originally appeared as separate
  442. articles in The C Users Journal, Vol. 8, No. 7, July 1990, and Vol. 9,
  443. No. 1, 1991.  (Incidentally, the reason the book has such a peculiar
  444. title is that it also contains explanations of the Obfuscated C Code
  445. Contest winners.)
  446.  
  447. 8.  IEEE Design & Test of Computers, June 1993, by Steve Vinoski.
  448. An article describing a system called the Remote Interactive Scan
  449. Environment (RISE++) that marries Tcl with RPC for the purpose of
  450. testing remote computer systems.
  451.  
  452. 9. The X Journal, March-April 1993, pages 74-81, "HYPERTOOLS
  453. A revolution in GUI applications" (listed in the TOC as "Hypertools: A GUI
  454. revolution") by John K. Ousterhout and Lawrence A. Rowe.
  455.  
  456.  
  457. Additional bibliographic references are still being sought.
  458.  
  459. E. Training courses, materials, etc.
  460.  
  461. 1. There have been, in the past, seminars at Usenix and the MIT X
  462. conference taught by John Ousterhout on Tcl and Tk.  See above for the
  463. slides from the most recent of these presentations.
  464.  
  465. 2. NeoSoft Communications Services ( karl@NeoSoft.com, (713) 684-5969 )
  466. can teach introductory and advanced Tcl courses on site or at their location
  467. in Houston, Texas.  A syllabus and pricing information are available on
  468. request.  Please contact Ellyn Mustard at (713) 684-5969 or via email to
  469. ellyn@neosoft.com for more details.
  470.  
  471. 3. Computerized Processes Unlimited ( gwl@cpu.com, (504) 889-2784 )
  472. has a combined Tcl/Tclx reference manual for sale.  It groups the commands
  473. by chapter based on functionality and has an extensive index.
  474.  
  475. F.  Time-related seminars, conferences, sessions.
  476.  
  477. 1. A Tcl/Tk workshop was held June 10-11, 1993 at University of 
  478. California at Berkeley.  The workshop proceedings are going to be made
  479. available for ftp in the near future.  The bibliographic references for
  480. the articles published will be added in the near future.
  481.  
  482. 2. Classes on Tcl and Tk have been held at Usenix and the MIT X
  483. Developers Conferences in the past.  The next ones that I have seen
  484. scheduled are during the Summer Usenix in Cincinnati, OH.  At least
  485. three sessions relate in some manner to Tcl/Tk - the Unix Power Tools
  486. (Monday) and the Tcl/Tk (Tuesday) tutorials, as well as the Unix guru
  487. session with Dr. John Ousterhout on Tuesday night.
  488.  
  489.  
  490.  
  491. ------------------------------
  492.  
  493. From: FAQ General information
  494. Subject: -VI- Where do I report problems, bugs, or enhancements - or -
  495.         What is comp.lang.tcl?
  496.  
  497.     There are two alternatives for reporting bugs and problems.
  498. The first is the USENET news group news:comp.lang.tcl, an unmoderated USENET
  499. newsgroup, created for the discussion of the Tcl programming language
  500. and tools that embed it, such as the Tk toolkit for the X window
  501. system, expect, and Extended Tcl.  Please note that postings of source
  502. code to comp.lang.tcl do not get archived to harbor.ecn.purdue.edu - if
  503. you want your code to be available from the User Contributions archive
  504. you will need to make arrangements for someone to ftp it there.  See
  505. elsewhere in the FAQ for more details on the archive site.
  506.  
  507.     The second would be to report problems, suggestions, new
  508. ideas, etc. to the author.  Email to
  509.  
  510. ouster@allspice.berkeley.edu (John Ousterhout)
  511.  
  512. will get comments to the author of Tcl and Tk - for other programs, email
  513. addresses are available either elsewhere in this part or part 3.
  514.  
  515.     Note: for those USENET-deprived individuals who are thus unable
  516. to read comp.lang.tcl, a small echoing mailing list is available.
  517. Contact John Ousterhout (see above for email address) for details.
  518.  
  519. ------------------------------
  520.  
  521. From: FAQ General information
  522. Subject: -VII- Where can I find the FAQ and who do I contact for more 
  523.         information about it?
  524.  
  525.     I am going to attempt to keep a copy of this file up to date on
  526. harbor.ecn.purdue.edu:/pub/tcl/docs/tcl-faq.p0[1-3] .
  527. Also, I will be posting it on a regular basis to at least comp.lang.tcl,
  528. news.answers, and comp.answers.
  529.  
  530.     If you have corrections, enhancements, modifications,
  531. clarifications, suggestions, ideas, new questions, new answers to
  532. questions which have never been asked, or something else that I have
  533. not covered above, contact me at lvirden@cas.org.
  534.  
  535.     Many FAQs, including this one, are available on the archive
  536. site rtfm.mit.edu in the directory pub/usenet/news/answers.  The name
  537. under which a FAQ is archived appears in the Archive-name line at the
  538. top of the article.  For example, this part of the comp.lang.tcl FAQ is 
  539. archived as tcl-faq/part1.Z .  There is also a mail server from which
  540. you can obtain a copy of the FAQ.  Send an email message to
  541. mail-server@rtfm.mit.edu with the word help in the body of the message
  542. to find out how to use it.
  543.  
  544.     Also, this FAQ is available from within gopher, from WAIS 
  545. servers such as the comp.lang.tcl.src, and probably other resources as
  546. well.  Let me know when you find the FAQ in new and unusual locations
  547. so I can update this resource guide!
  548.  
  549.     A great new resource access point for the FAQ is WorldWideWeb.
  550. The Uniform Resource Locator id for the FAQ is:
  551.  
  552. http://www.cis.ohio-state.edu:80/hypertext/faq/usenet/tcl-faq/top.html
  553.  
  554. Be sure to check this one out!
  555.  
  556. ------------------------------
  557.  
  558. End of comp.lang.tcl Frequently Asked Questions (1/3)
  559. *****************************************************
  560. -- 
  561. :s 
  562. :s Larry W. Virden                 INET: lvirden@cas.org
  563. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  564. -- 
  565. :s 
  566. :s Larry W. Virden                 INET: lvirden@cas.org
  567. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  568. Newsgroups: comp.lang.tcl,comp.answers,news.answers
  569. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!sdd.hp.com!caen!malgudi.oar.net!chemabs!lvirden
  570. From: lwv26@cas.org (Larry W. Virden)
  571. Subject: FAQ: comp.lang.tcl Frequently Asked Questions (2/3)
  572.     (Last updated: June 16, 1993)
  573. Message-ID: <tcl.p2_740234997@cas.org>
  574. Followup-To: comp.lang.tcl
  575. Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions 
  576.     (FAQ) and their answers.  This is the second of three parts.
  577.     This part covers the how-to questions and answers.
  578. Originator: lwv26@lwv26aws
  579. Keywords: tcl, expect, extended tcl, wish, tk
  580. Sender: lvirden@cas.org
  581. Supersedes: <tcl.p2_737658025@cas.org>
  582. Reply-To: lvirden@cas.org (Larry W. Virden)
  583. Organization: Chemical Abstracts Service
  584. References: <tcl.p1_740234997@cas.org>
  585. Date: Wed, 16 Jun 1993 12:50:38 GMT
  586. Approved: news-answers-request@MIT.Edu
  587. Expires: Wed, 28 Jul 1993 12:49:57 GMT
  588. Lines: 1025
  589. Xref: senator-bedfellow.mit.edu comp.lang.tcl:4758 comp.answers:1025 news.answers:9491
  590.  
  591. Archive-name: tcl-faq/part2
  592. Version: 3.3
  593. Last-modified: June 16, 1993
  594.  
  595. Please do not be offended if I neglect to acknowledge your contribution
  596. to this FAQ!  I sometimes forget to put an attribution in.  I especially
  597. try to add them if it appears that there is further experimentation or
  598. debugging being done though.
  599.  
  600.     For more information concerning Tcl (see "tcl-faq/part1") or
  601. (see "tcl-faq/part3").
  602.  
  603. Index of questions:
  604.  
  605. VIII. Questions on building Tcl and friends on your system
  606.     Q8A. Is there anywhere I can find help with the details of getting 
  607.         Tcl to work on my machine?
  608.     Q8B. When I am trying to build Tcl, the link step says that some 
  609.         of the functions Tcl needs are missing.
  610.     Q8C. Has anyone built Tcl 6 on an RS/6000 AIX 3.1? 
  611.     Q8D. Has anyone gotten Tcl to compile under HP-UX?
  612.     Q8E. Has anyone gotten Tcl to compile under VMS?
  613.     Q8F. What does it take to get Tcl to compile under SCO Unix?
  614.     Q8G. When I try to run the tclTest I get format and scan errors 
  615.         (NeXT, AIX, etc.)
  616.     Q8H. When I try to run Tcl V6 tclTest under Irix 4.0.1 I get
  617.         lots of errors.
  618.     Q8I. Does anyone else have problems with Tcl on a Cray?
  619.     Q8J. Does anyone know how to get Tk to run on a SparcBook or other
  620.         laptop with a limited number of colors?
  621.     Q8K. What does it take to get Tcl/Tk to compile on 386bsd/Linux 
  622.         or other POSIX/ANSI C systems not already supported?
  623.     Q8L. Can anyone help me build tcl 6.7 under NextStep 3.0?
  624.  
  625. IX.  How, in Tcl, can I XXX:
  626.     Q9A. get association lists or property lists?
  627.     Q9B. call one proc with the multi parameter value returned by 
  628.         another proc?
  629.     Q9C. pass an array into a proc?
  630.     Q9D. pipe output of a command back into a Tcl parsing procedure?
  631.     Q9E. merge extended Tcl into other programs such as wish or expect?
  632.     Q9F. delete a procedure from within a script?
  633.     Q9G. get parray to recognize an array variable I have created
  634.         via upvar?
  635.     Q9H. get more than 7 digits of double precision?
  636.     Q9I. grab the command line whenever a non-built-in call is made?
  637.     Q9J. get or set an environment variable?
  638.     Q9K. use numbers with leading zeroes?
  639.     Q9L. find the command line arguments to my application?
  640.     Q9M. put comments in my script, for example in a case statement?
  641.     Q9N. redirect stdin or stdout safely, including binary data?
  642.     Q9O. trap signals, and other more Unix specific functions?
  643.  
  644. X.  How, in Tk, can I XXX:
  645.     A. Question on starting Tk applications
  646.  
  647.     Q10.A.1. get my wish application to execute - I just get a wish prompt!
  648.     Q10.A.2. ,using a machine with less than 8 bit color, run?
  649.     Q10.A.3. set X11 resources for a wish application in an 
  650.         app-defaults file?
  651.     Q10.A.4. specify bitmap patterns on the command line instead of 
  652.         as a file name?
  653.     Q10.A.5. get a Motif user interface?
  654.     Q10.A.6. get an OpenLook user interface?
  655.  
  656.     B. Questions on Tk applications and the keyboard
  657.  
  658.     Q10.B.1. change the default class bindings?
  659.     Q10.B.2. delete a binding?
  660.     Q10.B.3. change a binding while it is being executed?
  661.     Q10.B.4. bind the arrow key on my Sun keyboard?
  662.     Q10.B.5. get root's mouse bindings to work in my Tk application?
  663.  
  664.     C. Questions on Tk and X11 interactions
  665.  
  666.     Q10.C.1. get an application to also use libXt?
  667.     Q10.C.2. change the X11 cursor?
  668.     Q10.C.3. raise or lower a window?
  669.     Q10.C.4. re-map a withdrawn window id?
  670.     Q10.C.5. use Tk in a subwindow of a non-Tk X11 application?
  671.  
  672.     D. Questions on Tk listboxes
  673.  
  674.     Q10.D.1. resize a listbox?
  675.     Q10.D.2. select two items that are not adjacent in the listbox at 
  676.         one time?
  677.     Q10.D.3. select items in more than one Tk listbox at a time?
  678.  
  679.     E. Other questions
  680.  
  681.     Q10.E.1. get the name of my own interpreter?
  682.     Q10.E.2. get -relief to work on my text widgets?
  683.     Q10.E.3. get output from a Tk canvas?
  684.     Q10.E.4. fill a canvas which is bounded by lines as opposed to a
  685.         shape like a polygon, oval, etc.?
  686.     Q10.E.5. create a scrollable window of buttons?
  687.     Q10.E.6. pack a text widget so that it can be resized interactively?
  688.     Q10.E.7. create a widget with an upper case name?
  689.  
  690. End of FAQ Index
  691.  
  692. ----------------------------------------------------------------------
  693.  
  694. ------------------------------
  695.  
  696. From: -VIII- Questions on building Tcl and friends on your system
  697. Subject: -Q8A- Is there anywhere I can find help with the details of 
  698.         getting Tcl to work on my machine?
  699.  
  700. A8A. Glad you asked!  Look in the Tcl distribution for the file called
  701. "porting.notes".  This will contain a collection of notes that various people
  702. have provided about porting Tcl to various machines and operating systems.
  703. There are also a file called "README" which should be read FIRST - before
  704. doing anything else with the code (this should always be one's first
  705. step with any package).  Finally, there is a "changes" file which details
  706. what has changed since the last release - be sure to read this to see
  707. what might need to change in your programs.
  708.  
  709. ------------------------------
  710.  
  711. From: -VIII- Questions on building Tcl and friends on your system
  712. Subject: -Q8B- When I am trying to build Tcl, the link step says that
  713.         some of the functions Tcl needs (such as strtoul and
  714.         strerror) are missing.
  715.  
  716. A8B. Did you run the "config" program first, by doing a "csh ./config" or
  717. equivalent?
  718.  
  719. Tcl includes equivalents for the following functions and include files
  720. which may not be found on some systems:
  721.  
  722. dirent.h       limits.h          stdlib.h         string.h
  723.  
  724. opendir.c      strerror.c     strstr.c         strtol.c        strtoul.c
  725.  
  726. strtod.c
  727.  
  728. ------------------------------
  729.  
  730. From: -VIII- Questions on building Tcl and friends on your system
  731. Subject: -Q8C- Has anyone built Tcl 6 on an RS/6000 AIX 3.1? 
  732.  
  733. A8C. See porting notes - especially the note about strtoul.
  734.  
  735. One user got Tcl to compile with a few minor source modifications
  736. (for example, duplicate case statements for errno and signal symbols in 
  737. tclUnixStr.c). 
  738.  
  739. A few other problems arose in the tests.  One is caused by AIX printf
  740. not formatting %#x and %#o correctly when the value to be printed is
  741. zero:  they print "0x0" and "00" instead of "0" and "0" respectively.
  742. This was reported as not a problem in earlier releases.  No fixes have
  743. been posted.
  744.  
  745. Finally, a problem occurs in open.test.  test 13.6 hangs because "cat"
  746. on the RS6000 is unbuffered.  A workaround is to change the execution
  747. of "cat" in open.test to do a "cat -u".
  748.  
  749. Dov Grobgeld <dov@menora.weizmann.ac.il> provided info on creating Tcl
  750. and Tk shared libraries under AIX 3.1.5:
  751.  
  752. For Tcl:
  753.  
  754. cc -o tkshar.o *.o -bE:tclshar.exp -bM:SRE -berok -lX11 -lm
  755. ar r libtclshr tclshar.o
  756.  
  757. For Tk:
  758.  
  759. cc -o tkshar.o *.o -bE:tkshar.exp -bM:SRE -berok -Ltcl -lX11 -lm -ltclshr
  760. ar r libtkshr tkshar.o
  761.  
  762. where tckshar.exp and tkshar.exp had lists of the external functions.
  763.  
  764. ------------------------------
  765.  
  766. From: -VIII- Questions on building Tcl and friends on your system
  767. Subject: -Q8D- Has anyone gotten Tcl to compile under HP-UX?
  768.  
  769. A8D. See the porting notes.
  770.  
  771. ------------------------------
  772.  
  773. From: -VIII- Questions on building Tcl and friends on your system
  774. Subject: -Q8E- Has anyone gotten Tcl to compile under VMS?
  775.  
  776. A8E. Information from jkimball@src.honeywell.com (John Kimball) on
  777. May 4, 1993 was that he had gotten Tcl 6.7 and Tk 3.2 ported to VMS
  778. 5.5.  See the catalog for the file information.
  779.  
  780. ------------------------------
  781.  
  782. From: -VIII- Questions on building Tcl and friends on your system
  783. Subject: -Q8F- What does it take to get Tcl to compile under SCO Unix?
  784.  
  785. A8F. Add a "#undef select" to tkEvent.c, and remove the reference to 
  786. TK_EXCEPTION around line 460 of main.c.
  787.  
  788. Tk uses its own scheme for allocating the border colors for its 3D
  789. widgets, which causes problems when running TK on a system with
  790. "PseudoColor" display class, and a 16-cell colormap.
  791.  
  792. If you can't go to eight bitplanes, you can instead start the server
  793. with a "-static" (Xsco) or "-analog" (Xsight) option, making the
  794. display class become "StaticColor".  This makes the entire colormap
  795. read-only, and it will return the color that most closely maps to the
  796. desired color as possible.
  797.  
  798. This information is from Keith Amann <Keith_Amann@stortek.com>
  799.  
  800. ------------------------------
  801.  
  802. From: -VIII- Questions on building Tcl and friends on your system
  803. Subject: -Q8G- When I try to run the tclTest I get format and scan errors 
  804.         (NeXT, AIX, etc.)
  805.  
  806. A8G. That's a problem (scanf/printf) many systems seem to have.  Don't
  807. worry too much about it - just don't use these 'advanced' features.  If
  808. you're hacking C, you'll have the same problems.
  809.  
  810. ------------------------------
  811.  
  812. From: -VIII- Questions on building Tcl and friends on your system
  813. Subject: -Q8H- When I try to run Tcl V6 tclTest under Irix 4.0.1 I get 
  814.         lots of errors.
  815.  
  816. A8H. There's a bug in the 4.0.1 optimizer that's fixed in 4.0.2.
  817. Compile tclVar.c using -O0 (no optimization).
  818.  
  819. ------------------------------
  820.  
  821. From: -VIII- Questions on building Tcl and friends on your system
  822. Subject: -Q8I- Does anyone else have problems with Tcl on a Cray?
  823.  
  824. A8I. See the porting notes for a set of changes mentioned.  Also,
  825. Booker C. Bense <benseb@grumpy.sdsc.edu> reports that version 3.0.1.6
  826. has some real problems with char pointers, causing Tcl to crash.  Using
  827. version 3.0.2.1, things are much better, except for a minor formatting
  828. problem and serious problems with scan.
  829.  
  830. ------------------------------
  831.  
  832. From: -VIII- Questions on building Tcl and friends on your system
  833. Subject: -Q8J- Does anyone know how to get Tk to run on a SparcBook or other
  834.         laptop with a limited number of colors?
  835.  
  836. A8J. On a SparcBook, if you start openwin (the OpenWindows server starting
  837. command) as:
  838.  
  839. openwin -dev "/dev/fb staticvis"
  840.  
  841. you get a static visual color model that Tk copes with better than the
  842. default.  Some things are ugly, but not as ugly as monochrome.
  843.  
  844. ------------------------------
  845.  
  846. From: -VIII- Questions on building Tcl and friends on your system
  847. Subject: -Q8K- What does it take to get Tcl/Tk to compile on 386bsd/Linux 
  848.         or other Posix/ANSI C systems not already supported?
  849.  
  850. A8K. Patches for 386BSD were posted to comp.lang.tcl back in Nov. 1992 to
  851. alt.sources.  See one of the ftp archive sites for this group for them.
  852. Basically, there were some setting of defines and a few places where 
  853. const char * had to be used in place of char *.  
  854.  
  855. ------------------------------
  856.  
  857. Subject: -Q8L- Can anyone help me build tcl 6.7 under NextStep 3.0?
  858.  
  859. A8L. Put #include <sys/time.h> near the top of tclUnixAZ.c.
  860. Thanks to Michael B. Johnson <wave@media.mit.edu>.
  861.  
  862. ------------------------------
  863.  
  864. From: -IX-  How, in Tcl, can I XXX:
  865. Subject: -Q9A- association lists or property lists?
  866.  
  867. A9A. Use Extended Tcl arrays or keyed lists.
  868.  
  869. For example, if you did a:
  870.  
  871. keylset ttyFields ttyName tty1a
  872. keylset ttyFields baudRate 57600
  873. keylset ttyFields parity strip
  874.  
  875. And then an "echo $ttyFields", you'd get:
  876.  
  877.     {ttyName tty1a} {baudRate 57600} {parity strip}
  878.  
  879. ------------------------------
  880.  
  881. From: -IX-  How, in Tcl, can I XXX:
  882. Subject: -Q9B- call one proc with the multi parameter value returned by 
  883.         another proc?
  884.  
  885. A9B. Assuming y requires multiple args and x returns multiple words, use 
  886.     Tcl's eval command "eval y [x]"
  887.  
  888. ------------------------------
  889.  
  890. From: -IX-  How, in Tcl, can I XXX:
  891. Subject: -Q9C- pass an array into a proc?
  892.  
  893. A9C. Use upvar rather than try to use global variables.
  894.  
  895.  
  896. # print elements of an array
  897. proc show arrayName {
  898.     upvar $arrayName myArray
  899.  
  900.     foreach element [array names myArray] {
  901.        puts stdout "${arrayName}($element) =  $myArray($element)"
  902.     }
  903. }
  904.  
  905. set arval(0) zero
  906. set arval(1) one
  907. show arval
  908.  
  909. Extended Tcl introduces a concept called keyed lists which are arrays
  910. made out of lists of key-value pairs and can be passed by value to routines,
  911. over networks, etc.
  912.  
  913. ------------------------------
  914.  
  915. From: -IX-  How, in Tcl, can I XXX:
  916. Subject: -Q9D- pipe output of a command back into a Tcl parsing 
  917.         procedure?
  918.  
  919. A9D. For example, to grep a pattern out of a range of files, one might
  920. do:
  921.  
  922. karl@NeoSoft.com (Karl Lehenbauer) writes:
  923.  
  924. set files [glob /home/cole/stats/*]
  925.  
  926. proc parseInfo { site } {
  927.    global files
  928.  
  929. #
  930. # site is chosen from a listbox earlier
  931. #
  932.    set in [open [concat "|/usr/bin/grep $site $files"] r]
  933.  
  934.    while {[gets $in line]>-1} {
  935.       puts stderr $line
  936.    }
  937.    catch {close $in}
  938. }
  939.  
  940. One thing:  the matching strings are _not_ returned in directory order.
  941.  
  942. But what if I want to check the return code AND use the output of 
  943. the command?  kennykb@dssv01.crd.ge.com (Kevin B. Kenny) writes:
  944.  
  945. if [catch {exec ls} data] {
  946.         # The exec got an error, and $errorCode has its termination status
  947. } else {
  948.         # The exec succeeded
  949. }
  950. # In any case, `data' contains all the output from the child process.
  951.  
  952. Note that Karl Lehenbauer adds that errorCode will be a list containing
  953. three elements, the string "CHILDSTATUS", the process ID of the child,
  954. and the exit status of the child.
  955.  
  956. ------------------------------
  957.  
  958. From: -IX-  How, in Tcl, can I XXX:
  959. Subject: -Q9E- merge extended Tcl into other programs such as wish or expect?
  960.  
  961. A9E. The latest version of extended Tcl, tclX 6.5c, has been enhanced to
  962. make it easier to incorporate into applications.
  963.  
  964. ------------------------------
  965.  
  966. From: -IX-  How, in Tcl, can I XXX:
  967. Subject: -Q9F- delete a procedure from within a script?
  968.  
  969. A9F. rename procedureName ""
  970.  
  971. ------------------------------
  972.  
  973. From: -IX-  How, in Tcl, can I XXX:
  974. Subject: -Q9G- get parray to recognize an array variable I have created
  975.         via upvar?
  976.  
  977. A9G. Right now (June, 1992) upvar doesn't allow you to attach to an
  978. individual element of an array.  This is considered a bug by 
  979. Mr. Ousterhout and has been place on a bug list.
  980.  
  981. ------------------------------
  982.  
  983. From: -IX-  How, in Tcl, can I XXX:
  984. Subject: -Q9H- get more than 7 digits of double precision ?
  985.  
  986. A9H. Modify the tclExpr.c module to use %lf instead of %g.
  987.  
  988. ------------------------------
  989.  
  990. From: -IX-  How, in Tcl, can I XXX:
  991. Subject: -Q9I- grab the command line whenever a non-built-in call is made?
  992.  
  993. A9I. The procedure "unknown" is called automatically with arguments 
  994. containing the command and its arguments for any command that couldn't be 
  995. found.  In fact, Tcl and Extended Tcl use this feature to provide demand
  996. loaded commands, and even entire libraries.
  997.  
  998. So by modifying the unknown procedure you can provide your own extended
  999. functionality, or even remove the demand loading capability if you so
  1000. desire.
  1001.  
  1002. ------------------------------
  1003.  
  1004. From: -IX-  How, in Tcl, can I XXX:
  1005. Subject: -Q9J- get or set an environment variable?
  1006.  
  1007. A9J. By using something like the following.
  1008.  
  1009. set olddisplay $env(DISPLAY)
  1010. set env(DISPLAY) unix:0
  1011.  
  1012. Thanks to "Joel Fine" <joel@cs.berkeley.edu> for the answer.
  1013.  
  1014. ------------------------------
  1015.  
  1016. From: -IX-  How, in Tcl, can I XXX:
  1017. Subject: -Q9K- use numbers with leading zeroes?
  1018.  
  1019. A9K. Dave Morriss was recently having problems because he was trying
  1020. to do something like:
  1021.  
  1022. set index [expr [exec date +%W]%[llength $pop_server_list]]
  1023.  
  1024. but during the 9th and 9th week of the year, he got errors - 08 and 09
  1025. are not valid octal numbers in Tcl.
  1026.  
  1027. Some of the solutions provided were:
  1028.  
  1029. From George A. Howlett <gah@att.com>, we got:
  1030.  
  1031. set wknum [format "%g" [exec date +%W]]
  1032. set index [expr [exec $wknum%[llength $pop_server_list]]
  1033.  
  1034. From Fred Feirtag <feirtag@wave.nrl.navy.mil> :
  1035.  
  1036. set index [expr (1[exec date +%W]-100)%[llength $pop_server_list]]
  1037.  
  1038. From Dan R. Schenck <schendr@Texaco.COM>:
  1039.  
  1040. set index [expr [string trimleft [exec date +%W] 0]%[llength $pop_server_list]]
  1041.  
  1042. ------------------------------
  1043.  
  1044. From: -IX-  How, in Tcl, can I XXX:
  1045. Subject: -Q9L- find the command line arguments to my application?
  1046.  
  1047. A9L.  If you are using extended Tcl or Expect, you will find the parameters in
  1048. the Tcl variable argv as a list.  Note that in extended Tcl, the name of 
  1049. the program is in the Tcl variable programName and NOT in argv[0].  Thanks to
  1050. brad@NeoSoft.com (Brad Morrison) and bachww@rtsg.mot.com (Bud Bach) for
  1051. this answer.
  1052.  
  1053. ------------------------------
  1054.  
  1055. From: -IX-  How, in Tcl, can I XXX:
  1056. Subject: -Q9M- put comments in my script, for example in a case statement?
  1057.  
  1058. A9M. You can't have comments where you have them.  Move the comments inside
  1059. of the "{" for the case that you want.  Your code should read:
  1060.  
  1061. case 1 {
  1062.   -1    {
  1063.         #
  1064.         # Cannot find information sought
  1065.         #
  1066.         exit 2
  1067.         }
  1068.    0    {
  1069.         #
  1070.         # Error in arguments
  1071.         #
  1072.         exit 1
  1073.         }
  1074.    default    {
  1075.         #
  1076.         # Desired information found
  1077.         #
  1078.         exit 0
  1079.         }
  1080. }
  1081.  
  1082. Thanks to gwlester@cpu.com (Gerald W. Lester).
  1083.  
  1084. ------------------------------
  1085.  
  1086. From: -IX-  How, in Tcl, can I XXX:
  1087. Subject: -Q9N- redirect stdin or stdout safely, including binary data?
  1088.  
  1089. A9N. With Extended Tcl you can safely do stuff like:
  1090.  
  1091.         set infp [open "|compress -dc $fileName"]
  1092.         set outfp [open "|gzip -c $newFileName" w]
  1093.  
  1094.         copyfile $infp $outfp
  1095.  
  1096. Thanks to karl@NeoSoft.com (Karl Lehenbauer) for the code example.
  1097.  
  1098. ------------------------------
  1099.  
  1100. From: -IX-  How, in Tcl, can I XXX:
  1101. Subject: -Q9O- trap signals, and other more Unix specific functions?
  1102.  
  1103. A9O. Extended Tcl offers many of these types of functions.  For instance,
  1104. extended Tcl has the 'signal' command:
  1105.  
  1106.         signal action siglist [command]
  1107.  
  1108.         where action is one of "default", "ignore", "error", "trap", "get",
  1109.         plus the POSIX "block" and "unblock" actions (available only on
  1110.         POSIX systems, of course).  Siglist is a list of either the symbolic
  1111.         or numeric Unix signal (the SIG prefix is optional).  Command is your
  1112.         error handler (or a simple {puts stdout "Don't press *that* key!"}  :-)
  1113.  
  1114. "trap" does what you expect, and I find "error" and "get" to be
  1115. extremely useful in interactive programs which demand keyboard
  1116. traversal.
  1117.  
  1118. Extended Tcl also has things like fork, etc.
  1119.  
  1120. Answer by brad@NeoSoft.com (Brad Morrison).
  1121.  
  1122. ------------------------------
  1123.  
  1124. From: -X-  How, in Tk, can I XXX:
  1125. Subject: -Q10.A.1- get my wish application to execute - I just get a
  1126.         wish prompt!  Or I just get error msgs about permission
  1127.         denied, not found, etc.
  1128.  
  1129. A10.A.1. Most systems require a full pathname to the interpreter.  
  1130. So you cannot start a wish script out as 
  1131.  
  1132. #! wish -f
  1133.  
  1134. Likewise, many Unix systems have a maximum length of characters that you can
  1135. put on a #! line.  If you exceed this, you do not get the behaviour you
  1136. expect.  So do not try to put something like:
  1137.  
  1138. #! /projects/somethingbig/bin/sun4/wish -f
  1139.  
  1140. followed by your wish code.  Keep the lines short - under 30 characters is
  1141. recommended.
  1142.  
  1143. ------------------------------
  1144.  
  1145. From: -X-  How, in Tk, can I XXX:
  1146. Subject: -Q10.A.2- ,using a machine with less than 8 bit color, run?
  1147.  
  1148. A10.A.2. Tk doesn't behave very well with less than 8-bit color screens.  To
  1149. try to use it, find all the places in the Tk/wish source where 
  1150. DefaultDepthOfScreen is invoked to test the number of bit-planes.  Change all
  1151. of these to pretend there is just 1 bit-plane, or call a procedure which
  1152. monitors a Tcl variable so that it is configurable, and you should be okay.
  1153.  
  1154. Another alternative is to see if the server you are using has alternative
  1155. visual / color models, such as static visual, etc.  One of the alternatives
  1156. may allow Tk to work better.
  1157.  
  1158. Thanks to "Nathaniel Borenstein" <nsb@thumper.bellcore.com> for this info!
  1159.  
  1160. ------------------------------
  1161.  
  1162. From: -X-  How, in Tk, can I XXX:
  1163. Subject: -Q10.A.3- set X11 resources for a wish application in an 
  1164.         app-defaults file?
  1165.  
  1166. A10.A.3. Read the documentation for the option command.
  1167. Then you should consider something like the following - assume the program
  1168. name is xwf.
  1169.  
  1170. The following are two general purpose functions to put into a library:
  1171.  
  1172. # envVal envValName
  1173. #   Looks up the envValName environment variable and returns its
  1174. #   value, or {} if it does not exists
  1175. proc envVal {envValName} {
  1176.   global env
  1177.   if [info exists env($envValName)] {return $env($envValName)} {return {}}
  1178. }
  1179.  
  1180. # loadAppDefaults classNameList ?priority?
  1181. #   Searches for the app-default files corresponding to classNames in
  1182. #   the order specified by X Toolkit Intrinsics, and loads them with
  1183. #   the priority specified (default: startupFile).
  1184. proc loadAppDefaults {classNameList {priority startupFile}} {
  1185.   set filepath "[split [envVal XUSERFILESEARCHPATH] :] \
  1186.         [envVal XAPPLRESDIR] \
  1187.         [split [envVal XFILESEARCHPATH] :] \
  1188.         /usr/lib/X11"
  1189.   foreach i $classNameList {
  1190.     foreach j $filepath {
  1191.       if {[file exists $j/$i]} {
  1192.     option readfile $j/$i $priority; break
  1193.       }
  1194.     }
  1195.   }
  1196. }
  1197.  
  1198. # Now, here is what you would put into xwf:
  1199.  
  1200. option add Tk.BoldFont "*-lucida sans-Bold-R-Normal-*-100-*" widgetDefault
  1201. loadAppDefaults {xwf XWF} userDefault
  1202.  
  1203. This sets a program default, then load any defaults specified in the user's
  1204. default resources and finally any site or general app-defaults resource.  
  1205. Of course, you would want to add some xwf command line handling to allow 
  1206. the user to override things at execution time.
  1207.  
  1208. ------------------------------
  1209.  
  1210. From: -X-  How, in Tk, can I XXX:
  1211. Subject: -Q10.A.4- specify bitmap patterns on the command line instead of 
  1212.         just as a file name?
  1213.  
  1214. A10.A.4. You can not, at least as of June, 1992.
  1215.  
  1216. ------------------------------
  1217.  
  1218. From: -X-  How, in Tk, can I XXX:
  1219. Subject: -Q10.A.5- get a Motif user interface?
  1220.  
  1221. A10.A.5. Tk does not currently use the Xt toolkit, so a strict adherence
  1222. to Motif via the libXm.a routines is not possible.  However, the authors
  1223. of Tk prefer the Motif style of user interface, so you will find that Tk
  1224. makes quite an attempt to implement a Motif-like interface.
  1225.  
  1226. ------------------------------
  1227.  
  1228. From: -X-  How, in Tk, can I XXX:
  1229. Subject: -Q10.A.6- get an OpenLook user interface?
  1230.  
  1231. A10.A.6. Unfortunately, Tk does not currently use either XView or Xt based
  1232. widgets in its user interface, so an OpenLook compliant (or even
  1233. similar) interface is probably not easily achievable in the near future.
  1234.  
  1235. ------------------------------
  1236.  
  1237. From: -X-  How, in Tk, can I XXX:
  1238. Subject: -Q10.B.1- change the default class bindings?
  1239.  
  1240. A10.B.1. All default class bindings for Tk widgets are initialized in
  1241. $tk_library/tk.tcl.  Use this file as a guide to implement new
  1242. bindings.  For instance, the following code duplicates Button 1's
  1243. drag-select facility in Button 3 for all listboxes:
  1244.  
  1245. bind Listbox <3> {%W select from [%W nearest %y]}
  1246. bind Listbox <B3-Motion> {%W select to [%W nearest %y]}
  1247.  
  1248. ------------------------------
  1249.  
  1250. From: -X-  How, in Tk, can I XXX:
  1251. Subject: -Q10.B.2- delete a binding?
  1252.  
  1253. A10.B.2. Give an empty-string command to the "bind" invocation.  For
  1254. example, to disable the Delete key in all entry fields:
  1255.  
  1256.     bind Entry <Delete> {}
  1257.  
  1258. ------------------------------
  1259.  
  1260. From: -X-  How, in Tk, can I XXX:
  1261. Subject: -Q10.B.3- change a binding while it is being executed?
  1262.  
  1263. A10.B.3. As of June, 1992, this was not a safe thing to do in Tk.  It was
  1264. put on the bug list by John Ousterhout to be fixed in a future version.
  1265.  
  1266. The solution for now is not to change the bindings, but to change
  1267. something in the code they execute.  For example, keep a state variable
  1268. that indicates which binding you'd like, but always have the binding
  1269. call a given procedure.  Then that procedure checks the variable and
  1270. executes one piece of code or another.  Or, you could just make the
  1271. binding's command "eval $cmd" and then change the variable "cmd"
  1272. depending on your application's state.
  1273.  
  1274. ------------------------------
  1275.  
  1276. From: -X-  How, in Tk, can I XXX:
  1277. Subject: -Q10.B.4- bind the arrow key on my Sun keyboard?
  1278.  
  1279. A10.B.4. You have to call it <Left> rather than <R10>.  Under X11, keys are
  1280. referred to by their keysym.  One can use either xmodmap -pk or the xev
  1281. program to determine what the keysym a particular key on a keyboard is
  1282. currently generating.
  1283.  
  1284. If the keysym that is being used is not known by Tk, you may have to edit
  1285. its ks_names.h file.  There is a note in this file that indicates that
  1286. one should not edit it - but this is where the keysym must be for it to
  1287. be recognized.
  1288.  
  1289. Thanks to Wayne Christopher <faustus@ygdrasil.CS.Berkeley.EDU> for this
  1290. note.
  1291.  
  1292. ------------------------------
  1293.  
  1294. From: -X-  How, in Tk, can I XXX:
  1295. Subject: -Q10.B.5- get root's mouse bindings to work in my Tk application?
  1296.  
  1297. A10.B.5. Some window managers, such as mwm, define mouse button bindings
  1298. which cause Tk some problems.  Try saving off the window manager's startup
  1299. file (something like /.mwmrc for instance) and then copy in a startup
  1300. file from a login id that works.  Thanks to brad@NeoSoft.com (Brad Morrison)
  1301. for this invaluable tip!
  1302.  
  1303. ------------------------------
  1304.  
  1305. From: -X-  How, in Tk, can I XXX:
  1306. Subject: -Q10.C.1- get an application to also use libXt?
  1307.  
  1308. A10.C.1. Tk2.1 and Xt have different X connections, and XtAppNextEvent will
  1309. block is there is nothing coming from the X connection.  One way
  1310. of fixing this is get the connection number of Tk using
  1311.  
  1312.    ConnectionNumber(Tk_Display(tk_window));
  1313.  
  1314. and using XtAddInput to register this with the Xt event handler.  The
  1315. callback procedure for XtAddInput wrapper procedure that runs
  1316. Tk_OneEvent(1).  There might be problems with Tk file sources which
  1317. aren't registered with Xt.
  1318.  
  1319. Thanks to joe@astro.as.utexas.edu (Joe Wang) for this information.
  1320.  
  1321. ------------------------------
  1322.  
  1323. From: -X-  How, in Tk, can I XXX:
  1324. Subject: -Q10.C.2- change the X11 cursor?
  1325.  
  1326. A10.C.2. Here is a tip from mgc@cray.com (M. G. Christenson).
  1327.  
  1328. Look at /usr/include/X11/cursorfont.h for a list of available cursors.
  1329. You can use the names in there by removing the 'XC_'.  
  1330.  
  1331. Here's a little proc I use to make my entire application go 'busy'
  1332. while it's doing something. Just call it with the commands you want to
  1333. execute, and the watch cursor will be displayed for the time it takes
  1334. the commands to complete.  Note that any new windows will have their
  1335. normal cursor.
  1336.  
  1337. proc busy {cmds} {
  1338.     global errorInfo
  1339.  
  1340.     set busy {.app .root}
  1341.     set list [winfo children .]
  1342.     while {$list != ""} {
  1343.     set next {}
  1344.     foreach w $list {
  1345.         set class [winfo class $w]
  1346.         set cursor [lindex [$w config -cursor] 4]
  1347.         if {[winfo toplevel $w] == $w || $cursor != ""} {
  1348.         lappend busy [list $w $cursor]
  1349.         }
  1350.         set next [concat $next [winfo children $w]]
  1351.     }
  1352.     set list $next
  1353.     }
  1354.  
  1355.     foreach w $busy {
  1356.     catch {[lindex $w 0] config -cursor watch}
  1357.     }
  1358.  
  1359.     update idletasks
  1360.  
  1361.     set error [catch {uplevel eval [list $cmds]} result]
  1362.     set ei $errorInfo
  1363.  
  1364.     foreach w $busy {
  1365.     catch {[lindex $w 0] config -cursor [lindex $w 1]}
  1366.     }
  1367.  
  1368.     if $error {
  1369.     error $result $ei
  1370.     } else {
  1371.     return $result
  1372.     }
  1373. }
  1374.  
  1375. ------------------------------
  1376.  
  1377. From: -X-  How, in Tk, can I XXX:
  1378. Subject: -Q10.C.3- raise or lower a window?
  1379.  
  1380. A10.C.3. This is on the (semi-infinite) list of things to be done in the future.
  1381. If you have the time, please go ahead and add it and submit the code and all
  1382. will be grateful.
  1383.  
  1384. ------------------------------
  1385.  
  1386. From: -X-  How, in Tk, can I XXX:
  1387. Subject: -Q10.C.4- re-map a withdrawn window id?
  1388.  
  1389. A10.C.4. Use wm deiconify <windowid>.
  1390.  
  1391. ------------------------------
  1392.  
  1393. From: -X-  How, in Tk, can I XXX:
  1394. Subject: -Q10.C.5- use Tk in a subwindow of a non-Tk X11 application?
  1395.  
  1396. A10.C.5. From faustus@ygdrasil.CS.Berkeley.EDU (Wayne A. Christopher):
  1397.  
  1398. [C]reate the Tk toplevel window but don't map it (wm withdraw).  Then
  1399. re-parent the window to be a subwindow of your other one and then map
  1400. it.  I have done this when the Tk application is a separate process,
  1401. but if it's the same process I think you will get into trouble with the
  1402. event loop, since each toolkit wants control.
  1403.  
  1404. ------------------------------
  1405.  
  1406. From: -X-  How, in Tk, can I XXX:
  1407. Subject: -Q10.D.1- resize a listbox?
  1408.  
  1409. A10.D.1. Use wm min/maxsize - in a uniform manner.  Here is a resizable listbox:
  1410.  
  1411.         #!/usr/local/bin/wish -f
  1412.         wm minsize . 20 20
  1413.         wm maxsize . 1152 900
  1414.         pack append . [listbox .l -borderwidth 2 -relief raised] {expand fill}
  1415.  
  1416. Doing the same with the text widget brings its resizing under control too.
  1417.  
  1418. Thanks to "John C Ellson" <ellson@ontap.att.com).
  1419.  
  1420. ------------------------------
  1421.  
  1422. From: -X-  How, in Tk, can I XXX:
  1423. Subject: -Q10.D.2- select two items that are not adjacent in the listbox at 
  1424.         one time?
  1425.  
  1426. A10.D.2.  See Marc R. Ewing's Listbox.patch for a way to modify Tk to allow
  1427. selection of non-contiguous entries.
  1428.  
  1429. ------------------------------
  1430.  
  1431. From: -X-  How, in Tk, can I XXX:
  1432. Subject: -Q10.D.3- select items in more than one Tk listbox at a time?
  1433.  
  1434. A10.D.3. The default for Tk's listbox widget exports its selection as the
  1435. X selection.  There can only be one of these at a time.
  1436.  
  1437. To turn off this behavior in Tk, use the -exportselection false when
  1438. you create the listbox.  Or, use the
  1439.  
  1440. option add *Listbox.exportselection false
  1441.  
  1442. command in the beginning of your script.
  1443.  
  1444. Thanks to David Herron <david@twg.com> for this tip.
  1445.  
  1446. ------------------------------
  1447.  
  1448. From: -X-  How, in Tk, can I XXX:
  1449. Subject: -Q10.E.1- get the name of my own interpreter?
  1450.  
  1451. A10.E.1. gah@att.com (George A. Howlett) points us to the winfo manual
  1452. page - winfo name . gets the name of the current application.
  1453.  
  1454. ------------------------------
  1455.  
  1456. From: -X-  How, in Tk, can I XXX:
  1457. Subject: -Q10.E.2- get -relief to work on my text widgets?
  1458.  
  1459. A10.E.2. From Owen Rees <rtor@ansa.co.uk>, we find out that we must:
  1460.  
  1461. "[m]ake the border width non-zero as in"
  1462.  
  1463.    text .t -width 20 -height 20 -relief sunken -borderwidth 4
  1464.  
  1465. ------------------------------
  1466.  
  1467. From: -X-  How, in Tk, can I XXX:
  1468. Subject: -Q10.E.3- get output from a Tk canvas?
  1469.  
  1470. A10.E.3. The latest Tk has a save suboption on canvas which allows one
  1471. to create a file describing the canvas.  The default output is Encapsulated
  1472. Postscript, but there is an xpm3 suboption as well.
  1473.  
  1474. ------------------------------
  1475.  
  1476. From: -X-  How, in Tk, can I XXX:
  1477. Subject: -Q10.E.4- fill a canvas which is bounded by lines as opposed to a
  1478.         shape like a polygon, oval, etc.?
  1479.  
  1480. A10.E.4. No, you have to at least use a polygon if you want to fill an area
  1481. bounded by some lines.
  1482.  
  1483. ------------------------------
  1484.  
  1485. From: -X-  How, in Tk, can I XXX:
  1486. Subject: -Q10.E.5- create a scrollable window of buttons?
  1487.  
  1488. A10.E.5. There are at least two ways to do this.  First, there is a hypertext
  1489. widget that one can get from the Tcl User Contributed Code Archive (see
  1490. comp.lang.tcl FAQ part 3 for details) which provides such a facility.
  1491. And here is some sample code from 
  1492. "Michael Moore" <mdm@stegosaur.cis.ohio-state.edu> which shows a way to 
  1493. do this using just Tk.
  1494.  
  1495. #! /bin/wish -f
  1496. #
  1497. # This demonstrates how to create a scrollable canvas with mutliple
  1498. # buttons.
  1499. #
  1500. # Author : Michael Moore
  1501. # Date   : November 17, 1992
  1502. #
  1503.  
  1504. #
  1505. # This procedure obtains all the items with the tag "active"
  1506. # and prints out their ids.
  1507.  
  1508. proc multi_action {} {
  1509.     set list [.frame.canvas find withtag "active"]
  1510.     puts stdout "Active Item Ids : "
  1511.     foreach item $list {
  1512.     puts stdout $item
  1513.     }
  1514. }
  1515.  
  1516. # This simulates the toggling of a command button...
  1517. # Note that it only works on a color display as is right now
  1518. # but the principle is the same for b&w screens.
  1519. proc multi_activate {num id} {
  1520.     
  1521.     set tags [.frame.canvas gettags $id]
  1522.     if {[lsearch $tags "active"] != -1} {
  1523.     .frame.canvas dtag $id "active"
  1524.     .frame.canvas.button$num configure \
  1525.         -background "#060" \
  1526.         -activebackground "#080" 
  1527.     } else {
  1528.     .frame.canvas addtag "active" withtag $id
  1529.     .frame.canvas.button$num configure \
  1530.         -background "#600" \
  1531.         -activebackground "#800"
  1532.     }
  1533.  
  1534. proc setup {} {
  1535.      frame .frame
  1536.  
  1537.      scrollbar .frame.scroll \
  1538.          -command ".frame.canvas yview" \
  1539.          -relief raised
  1540.  
  1541.      canvas .frame.canvas \
  1542.          -yscroll ".frame.scroll set" \
  1543.          -scrollregion {0 0 0 650} \
  1544.          -relief raised \
  1545.      -confine false \
  1546.      -scrollincrement 25
  1547.  
  1548.      pack append .frame \
  1549.          .frame.scroll    {left frame center filly} \
  1550.          .frame.canvas    {left frame center fillx filly}
  1551.  
  1552.      pack append .\
  1553.          .frame   {left frame center fillx filly}
  1554.  
  1555.      button .frame.canvas.action  \
  1556.          -relief raised \
  1557.          -text "Action" \
  1558.      -command "multi_action"
  1559.      .frame.canvas create window 1 25 \
  1560.      -anchor w \
  1561.          -window .frame.canvas.action
  1562.      for {set i 2} {$i < 26} {incr i} {
  1563.      button .frame.canvas.button$i  \
  1564.         -relief raised \
  1565.         -background "#060" \
  1566.         -foreground wheat \
  1567.         -activebackground "#080" \
  1568.         -activeforeground wheat \
  1569.         -text "Button $i" 
  1570.      set id [.frame.canvas create window 1 [expr $i*25] \
  1571.         -anchor w \
  1572.         -window .frame.canvas.button$i]
  1573.      .frame.canvas.button$i configure \
  1574.         -command "multi_activate $i $id"
  1575.     }
  1576. }
  1577.  
  1578. setup
  1579.  
  1580. ------------------------------
  1581.  
  1582. From: -X-  How, in Tk, can I XXX:
  1583. Subject: -Q10.E.6- pack a text widget so that it can be resized interactively?
  1584.  
  1585. A10.E.6. From Spencer W. Thomas <spencer@med.umich.edu> we find that we need to:
  1586.  
  1587. wm minsize . 0 0
  1588. text .text
  1589. pack append . .text {fill expand}
  1590.  
  1591. ------------------------------
  1592.  
  1593. From: -X-  How, in Tk, can I XXX:
  1594. Subject: -Q10.E.7- create a widget with an upper case name?
  1595.  
  1596. A10.E.7. During a recent revision of Tk, things were changed so that names
  1597. beginning with a capital letter are reserved for class names.  Specific
  1598. instances of widgets must begin with a lower case letter.  This enables
  1599. X11 resource definitions to distinguish between a class and instance.
  1600.  
  1601. ------------------------------
  1602.  
  1603. End of comp.lang.tcl Frequently Asked Questions (2/3)
  1604. *****************************************************
  1605. -- 
  1606. :s 
  1607. :s Larry W. Virden                 INET: lvirden@cas.org
  1608. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  1609. -- 
  1610. :s 
  1611. :s Larry W. Virden                 INET: lvirden@cas.org
  1612. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  1613. Newsgroups: comp.lang.tcl,comp.answers,news.answers
  1614. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!caen!malgudi.oar.net!chemabs!lvirden
  1615. From: lwv26@cas.org (Larry W. Virden)
  1616. Subject: FAQ: comp.lang.tcl Frequently Asked Questions (3/3)
  1617.     (Last updated: June 16, 1993)
  1618. Message-ID: <tcl.p3_740234997@cas.org>
  1619. Followup-To: comp.lang.tcl
  1620. Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions
  1621.     (FAQ) and their answers.  This is the third of three parts.
  1622.     This part is a catalog of Tcl based software.
  1623. Originator: lwv26@lwv26aws
  1624. Keywords: tcl, expect, extended tcl, wish, tk
  1625. Sender: lvirden@cas.org
  1626. Supersedes: <tcl.p3_737658025@cas.org>
  1627. Reply-To: lvirden@cas.org (Larry W. Virden)
  1628. Organization: Chemical Abstracts Service
  1629. References: <tcl.p2_740234997@cas.org>
  1630. Date: Wed, 16 Jun 1993 12:50:56 GMT
  1631. Approved: news-answers-request@MIT.Edu
  1632. Expires: Wed, 28 Jul 1993 12:49:57 GMT
  1633. Lines: 1490
  1634. Xref: senator-bedfellow.mit.edu comp.lang.tcl:4759 comp.answers:1026 news.answers:9492
  1635.  
  1636. Archive-name: tcl-faq/part3
  1637. Version: 3.3
  1638. Last-modified: June 16, 1993
  1639.  
  1640.     For more information concerning Tcl (see "tcl-faq/part1") or
  1641. (see "tcl-faq/part2").
  1642.  
  1643. Index of questions:
  1644.  
  1645. XI. Where can I get these packages?
  1646.     A. Retrieving Tcl and Tk
  1647.     B. Accessing the Tcl/Tk User Contributions Archive
  1648.     C. Expect available via e-mail.
  1649.     D. tcl-mode.el
  1650.     E. The tk toolbox project
  1651.  
  1652. XII. What are some examples of applications using Tcl and/or Tk?
  1653.     o Alpha
  1654.     o Amiga OS Tcl 3.x port
  1655.     o arTCLs
  1656.     o BOS
  1657.     o Bowling
  1658.     o browse.tcl
  1659.     o BYO
  1660.     o calc.tk
  1661.     o Clock (Analog)
  1662.     o Compare Manifest
  1663.     o coloredit
  1664.     o CUTE
  1665.     o DejaGnu
  1666.     o directory browser
  1667.     o Directory User Agent interface
  1668.     o Drag and Drop directory browser
  1669.     o Drag and Drop file browser
  1670.     o edit-html
  1671.     o Expect
  1672.     o expecTerm
  1673.     o Extended Tcl
  1674.     o fn and ForumNet
  1675.     o FSBox
  1676.     o getcons
  1677.     o hp-tcl-cdplay
  1678.     o js tools
  1679.     o Libsearch
  1680.     o lookup
  1681.     o MacOS Tcl, 6.1
  1682.     o MacOS Tcl, 6.1v2
  1683.     o MacOS Tcl, 6.7
  1684.     o man.tk
  1685.     o Modules
  1686.     o MS-DOS Tcl, 6.0a
  1687.     o MS-DOS Tcl, 6.2
  1688.     o MS-DOS Tcl, 6.7
  1689.     o MS-DOW Windows Tcl
  1690.     o Mx
  1691.     o Netrek Metaserver Monitor
  1692.     o Objectify
  1693.     o Parseargs
  1694.     o Point
  1695.     o PostgresBrowswer
  1696.     o Picasso
  1697.     o pixmap
  1698.     o reversi
  1699.     o Roger's Interface Language (RIL)
  1700.     o rolodex
  1701.     o ServiceMail(TM) Toolkit
  1702.     o SGI GL interpretor
  1703.     o smaillog
  1704.     o Tcl
  1705.     o tclbot
  1706.     o tcltags
  1707.     o tcltools
  1708.     o tcltt, v1
  1709.     o TCLtt, v2
  1710.     o TeenyMUD
  1711.     o tickle
  1712.     o Tk
  1713.     o Tk command interpretor
  1714.     o tk WWW interface
  1715.     o Tk xworld
  1716.     o tkinfo
  1717.     o tkinspect
  1718.     o TkIspell
  1719.     o tkkids
  1720.     o TkMail
  1721.     o TkMan
  1722.     o tkmines
  1723.     o tkwool
  1724.     o Towers of Hanoi
  1725.     o tupact
  1726.     o twoClocks
  1727.     o Tx
  1728.     o unix.tk
  1729.     o User-Maint
  1730.     o user-setup
  1731.     o VMS port of Tcl/Tk
  1732.     o Wafe
  1733.     o widget server
  1734.     o workman
  1735.     o wtour
  1736.     o Xdig
  1737.     o xf
  1738.     o Zap Interpreters
  1739.  
  1740. XIII. Since Tcl/Tk appear to be extensible, are there any common extensions?
  1741.     o addinput
  1742.     o busy window
  1743.     o C++ Tcl objects
  1744.     o Calc_Object
  1745.     o calculator
  1746.     o calendar
  1747.     o color settings
  1748.     o deck.tk
  1749.     o Directed Acyclic Graph (DAG) widgets
  1750.     o Disjoint listbox selections
  1751.     o SunOS dld package
  1752.     o Eiffel / Tcl interface
  1753.     o file selector
  1754.     o file select (sherman)
  1755.     o Tk focus follows pointer
  1756.     o font settings
  1757.     o graph
  1758.     o GroupKit
  1759.     o iconbutton
  1760.     o Lamda anonymous procedures
  1761.     o lisp2wish
  1762.     o list select
  1763.     o Multibyte Support for Tk
  1764.     o Multiple interpretor support
  1765.     o Mxedit
  1766.     o net CDF
  1767.     o Network management
  1768.     o Photo widget
  1769.     o Postgres extensions
  1770.     o procedure tracing
  1771.     o Safe Tcl Interpreter
  1772.     o secure tcl
  1773.     o showproc.tcl
  1774.     o SIPP extensions
  1775.     o Spreadsheet 
  1776.     o System V ipc
  1777.     o Sybase Tcl
  1778.     o tclcompare
  1779.     o tcl debugger
  1780.     o Tcl-DP
  1781.     o Tcl externals
  1782.     o tclIV
  1783.     o tclMIDI
  1784.     o tclOBST
  1785.     o Tcl Packages
  1786.     o tclprof
  1787.     o tclRawTCP
  1788.     o tclsql
  1789.     o tclsockets
  1790.     o tclTCP
  1791.     o tclvogle
  1792.     o Tcl SQL
  1793.     o tcl_streams
  1794.     o tclX dynamic library patches
  1795.     o tclX / Tk merge
  1796.     o tclXt
  1797.     o tcpConnect
  1798.     o tk Bell and Cutbuffer patches
  1799.     o Tk Emacs
  1800.     o tkFScale
  1801.     o tkGLXwin
  1802.     o tk-mod.shar
  1803.     o tk RichText Format widget
  1804.     o tkText (Tk 1.3 compatible)
  1805.     o tkText (Tk 2.0 compatible)
  1806.     o tree widget
  1807.     o turtle graphics
  1808.     o validate
  1809.     o Variable Frames
  1810.     o warp
  1811.     o wmstuff
  1812.     o Xpm support
  1813.  
  1814. XIV. Is there any commercial use of Tcl/Tk?
  1815.  
  1816. End of FAQ Index
  1817.  
  1818. ----------------------------------------------------------------------
  1819.  
  1820. --------------------------------------
  1821.  
  1822. From: FAQ Tcl/Tk Package Catalog
  1823. Subject: -XI- Where can I get these packages?
  1824.  
  1825. The "home site" for Tcl on the Internet is sprite.berkeley.edu.
  1826. Sprite is an experimental research machine whose IP servers
  1827. occasionally flake out.  If you find that sprite is refusing
  1828. connections, send mail to "root@sprite.berkeley.edu", wait a few
  1829. hours, and try again.
  1830.  
  1831. Tcl and Extended Tcl were posted to comp.sources.misc, appearing
  1832. In volume 25 and then Tcl appeared again in volume 26 and can be found at 
  1833. most comp.sources.misc archive sites in the tcl and tclx directories.
  1834. These are quite old versions actually, but are still usable.
  1835.  
  1836. a. Tcl    - available on sprite.berkeley.edu and harbor.ecn.purdue.edu
  1837. b. Tk    - available on sprite.berkeley.edu and harbor.ecn.purdue.edu
  1838. c. Extended Tcl - available on sprite.berkeley.edu and harbor.ecn.purdue.edu
  1839.  
  1840. The IP address for harbor.ecn.purdue.edu is 128.46.128.76 .
  1841. sprite.berkeley.edu is a CNAME for allspice.Berkeley.EDU, whose
  1842. IP address is 128.32.150.27.
  1843.  
  1844. Other sites which either mirror the Tcl/Tk submissions or have special
  1845. versions are:
  1846.  
  1847. ftp.uu.net:/languages/tcl    <- sprite only
  1848. gatekeeper.dec.com:/.0/BSD/UCB/sprite <- sprite only
  1849. sunsite.unc.edu:/pub/languages/tcl
  1850. ftp.ibp.fr:/pub/tcl        <- distrib, contrib, expect
  1851. syd.dit.csiro.au:/pub/tk    <- contrib and sprite
  1852.  
  1853. iskut.ucs.ubc.ca:/pub/X11/tcl
  1854. ftp.funet.fi:/pub/languages/tcl
  1855. coma.cs.tu-berlin.de:/pub/tcl
  1856. nic.funet.fi:/pub/languages/tcl
  1857. oskgate0.mei.co.jp:/free/X/toolkits/tcl <- sprite only
  1858.  
  1859. sunsite.unc.edu:/pub/Linux    <- contains port of extended Tcl and 
  1860.                     extended Tk to this OS.
  1861.  
  1862. --------------------------------------
  1863.  
  1864. From: -XI- Where can I get these packages?
  1865. Subject: -A- Retrieving Tcl and Tk
  1866.  
  1867.  
  1868. >From: ouster@sprite.Berkeley.EDU (John Ousterhout)
  1869. >Newsgroups: comp.lang.tcl
  1870. >Subject: Obtaining Tcl/Tk sources
  1871.  
  1872. For people new to the Tcl/Tk community, here is information on how
  1873. to obtain Tcl and Tk sources.  The information below describes what
  1874. I distribute; other information is available from other machines
  1875. also, such as harbor.ecn.purdue.edu.
  1876.  
  1877. The sources and documentation for the Tcl command
  1878. language library, for the Tk toolkit, and for a few Tcl-based
  1879. applications, are in the public FTP area on sprite.berkeley.edu.
  1880. All of these files are in the "tcl" subdirectory of the FTP area.
  1881. Here is a catalog of what's available.  Most of the files are
  1882. compressed tar files ("xxx.tar.Z").  There is some overlap
  1883. between the contents of the various packages.
  1884.  
  1885. tk3.2.tar.Z -        This is the latest release of the Tk toolkit, released
  1886.             in February 1993.  It includes a complete copy of the
  1887.             Tcl V6.7 release (the version of Tcl with which it is
  1888.             compatible) plus a simple windowing shell called
  1889.             "wish".  If you retrieve this file you don't need to
  1890.             retrieve Tcl separately.
  1891.  
  1892. tcl6.7.tar.Z -        This is the newest release of the Tcl library.
  1893.             It became available in February 1993.  This package
  1894.             includes only the Tcl library and its documentation,
  1895.             plus a simple main program for testing.
  1896.  
  1897. tclX6.5c.tar.Z -    Extended Tcl (or NeoSoft Tcl), created by Mark
  1898.             Diekhans and Karl Lehenbauer, which adds a number
  1899.             of useful facilities to the base Tcl release.
  1900.             Among the things in Extended Tcl are a Tcl shell,
  1901.             many new commands for things like UNIX kernel
  1902.             call access and math library routines, and an
  1903.             on-line help facility.  This file is based on
  1904.             Tcl versions 6.5 or later and Tk versions 3.0
  1905.             or later.
  1906.  
  1907.             Note that tclX6.5c-6.7c.update.shar.Z exists on 
  1908.             the purdue archive site.
  1909.  
  1910. mx.tar.Z -        Sources and documentation for a mouse-based text
  1911.             editor (mx) and terminal emulator (tx) based on
  1912.             Tcl.  This is a very old release:  it uses an old
  1913.             version of Tcl (which is included) and doesn't
  1914.             even use Tk;  it uses an ancient toolkit called
  1915.             "Sx".  These tools will eventually be replaced
  1916.             with new tools based on Tk and the newest Tcl.
  1917.  
  1918. mx-2.5.tar.Z -         Newer version of mx (see above) that uses the
  1919.             standard X selection mechanism rather than the
  1920.             homegrown mechanism used by previous versions. 
  1921.             Version 2.5 is not backwards compatible with 
  1922.             previous versions (you can't cut and paste between
  1923.             the two). Still uses sx and an old version of 
  1924.             Tcl (both of which are included).
  1925.  
  1926. book.p1.ps.Z        Compressed Postscript for a draft of the first part
  1927.             of an upcoming book on Tcl and Tk to be published in
  1928.             1993 by Addison-Wesley.  This part of the book
  1929.             describes the Tcl language and how to write scripts
  1930.             in it.  About 130 pages in length.
  1931.  
  1932. book.p2.ps.Z        Compressed Postscript for a draft of the second part
  1933.             of an upcoming book on Tcl and Tk to be published in
  1934.             1993 by Addison-Wesley.  This part of the book
  1935.             describes how to write Tcl scripts for Tk.  About
  1936.             125 pages in length.
  1937.  
  1938. book.p3.ps.Z            Compressed Postscript for a draft of the third part
  1939.                         of an upcoming book on Tcl and Tk to be published in
  1940.                         1993 by Addison-Wesley.  This part of the book
  1941.                         describes how to write Tcl applications in C, using
  1942.                         the Tcl library procedure.  64 pages in length.
  1943.  
  1944. tclUsenix90.ps -    Postscript for a paper on Tcl that appeared in the
  1945.             Winter 1990 USENIX Conference.  This paper is also
  1946.             included in the Tcl and Tk distributions.
  1947.  
  1948. tkUsenix91.ps -        Postscript for a paper on Tk that appeared in the
  1949.             Winter 1991 USENIX Conference.  This paper is also
  1950.             included in the Tk distribution.
  1951.  
  1952. tkF10.ps -        Postscript for Figure 10 of the Tk paper.
  1953.  
  1954. tut.tar.Z -        A collection of materials from a full-day tutorial
  1955.             on Tcl and Tk.  Includes viewgraphs from five one-hour
  1956.             talks plus a sample widget.
  1957.  
  1958. In addition, there may be older releases of some or all of the above
  1959. files;  look for files with earlier release numbers.
  1960.  
  1961.  
  1962. To retrieve any or all of these packages, use anonymous FTP to
  1963. sprite.berkeley.edu (Internet address 128.32.150.27).  Use user
  1964. "anonymous"; when asked for a password, type your login name.  Then
  1965. retrieve the relevant file(s) with the commands like the following:
  1966.         type image (try "type binary" if this command is rejected)
  1967.         cd tcl
  1968.         get tk3.2.tar.Z
  1969.  
  1970. Be sure to retrieve files in image mode (type "type image" to FTP)
  1971. in order to make sure that you don't lose bits.
  1972.  
  1973. Any file with a .Z extension is a compressed file, which means you must
  1974. use the "uncompress" program to get back a normal file.  For example, for
  1975. the file tk3.2.tar.Z, you should type
  1976.  
  1977.     uncompress tk3.2.tar.Z
  1978.  
  1979. once you've retrieved the file.  This will produce a file named "tk3.2.tar".
  1980. Then you will need to use tar to extract the members.  Typically one
  1981. would use a command such as:
  1982.  
  1983.     tar xv tk3.2.tar
  1984.  
  1985. to extract the pieces.
  1986.  
  1987. Each of the releases has a README file in the top-level directory that
  1988. describes how to compile the release, where to find documentation, etc.
  1989.  
  1990. Questions or problems about any of these distributions should be directed
  1991. to "John Ousterhout" <ouster@cs.berkeley.edu>.
  1992.  
  1993. If you don't have access to Sprite, you can also retrieve some or
  1994. all of the above files from other FTP repositories.  Here is a
  1995. sampler of machines that store some or all of the Tcl/Tk information,
  1996. plus the directories in which to check:
  1997.  
  1998. ftp.uu.net:        /languages/tcl/*
  1999. export.lcs.mit.edu:    /contrib/tk*
  2000. harbor.ecn.purdue.edu:    /pub/tcl/*
  2001.  
  2002. --------------------------------------
  2003.  
  2004. From: -XI- Where can I get these packages?
  2005. Subject: -B- Accessing the Tcl/Tk User Contributions Archive
  2006.  
  2007. Contributions to the Tcl/Tk Contrib Archive are most welcome --
  2008. please upload them to:
  2009.  
  2010.     harbor.ecn.purdue.edu:/incoming    [128.46.128.76]
  2011.  
  2012. send the archive maintainer <tcl-archive@harbor.ecn.purdue.edu> a note stating
  2013. the names of the files you uploaded and a brief description for the
  2014. index.
  2015.  
  2016. Harbor is the central file server for the software staff of the
  2017. Engineering Computer Network, so please try to refrain from FTPing
  2018. stuff between 9am and 5pm EST (GMT -0500).  No mail-archive service is
  2019. planned as yet -- users without FTP capability should use one of the
  2020. following mail-based FTP services (send mail to the appropriate address
  2021. with "help" in the body):
  2022.  
  2023. BITNET users:   BITFTP <bitftp@pucc.princeton.edu>
  2024. Others:         "DEC ftpmail" <ftpmail@decwrl.dec.com>
  2025. Europe:         ftpmail@grasp1.univ-lyon1.fr
  2026.         mail-server@ftp.tu-clausthal.de
  2027.  
  2028. WARNING!  The archive maintainer will NOT be automatically archiving anything
  2029. posted to comp.lang.tcl or previously to the mailing list.  So if you want
  2030. your nifty porting instructions for getting Tcl up on your Seiko wrist watch
  2031. or your pen computer to be saved for others benefit, be sure to ftp them into
  2032. the archive.
  2033.  
  2034. All contributions should be placed in harbor's ~ftp/incoming
  2035. subdirectory.  Please send tcl-archive@harbor.ecn.purdue.edu and a short
  2036. mail message stating the filename(s) of your contribution and a brief
  2037. description (for the Index).  If you've posted some code to
  2038. comp.lang.tcl or the Tcl mailing list, and you want it to be archived
  2039. at this site, please deposit it in ~ftp/incoming or mail it in a
  2040. suitable form (preferably uuencoded compressed tar file, but a shar
  2041. file's OK) to tcl-archive@harbor.ecn.purdue.edu.
  2042.  
  2043. Note: I have noticed that some authors prefer to use plain names rather than
  2044. version level type names.  This means that you should a) make note of when
  2045. you get a package, and b) check the archive occasionally to see if a newer
  2046. version of the package has appeared.
  2047.  
  2048. -------------------------------
  2049.  
  2050. From: -XI- Where can I get these packages?
  2051. Subject: -C- Expect available via e-mail.
  2052.  
  2053. Besides being available via ftp, expect can also be received by email
  2054. by sending the message "send pub/expect/expect.shar.Z" to
  2055. library@cme.nist.gov .
  2056.  
  2057. As of January 11, 1993, the primary expect package does not work with Tcl 6.5 
  2058. due to a Tcl 6.5 bug.  There is an alpha.tar.Z package which provides
  2059. compatibility with Tcl 6.[67] as well as provides some support for Tk.
  2060.  
  2061. -------------------------------
  2062.  
  2063. From: -XI- Where can I get these packages?
  2064. Subject: -D- tcl-mode.el
  2065.  
  2066. "Sean Levy" <snl+@cs.cmu.edu> has hacked a version of Emacs's C mode into
  2067. a tcl-mode.el.  He mentions that you must use semi-colons at the end
  2068. of each statement to get indentation to work right, but he found that
  2069. easier than doing without.
  2070.  
  2071. The code is on [128.2.214.236]
  2072. sambar.ndim.edrc.cmu.edu:/afs/cs/user/snl/public/tcl-mode.el.Z 
  2073. (don't forget binary mode) as well as
  2074. harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl-mode.el.Z .
  2075.  
  2076. "Julian Anderson" <jules@kauri.vuw.ac.nz> was also working on an Emacs Tcl
  2077. minor mode to fundamental.
  2078.  
  2079. "Chris Lindblad" <cjl@lcs.mit.edu> has contributed tcl.el, a Tcl mode for 
  2080. GNU emacs.  It's address is harbor.ecn.purdue.edu:/pub/tcl/extensions/tcl.el .
  2081.  
  2082. -------------------------------
  2083.  
  2084. From: -XI- Where can I get these packages?
  2085. Subject: -E- The tk toolbox project
  2086.  
  2087. The Tk Toolbox & Toolchest project.
  2088.  
  2089. The Toolchest consists of convenience routines for Tcl and Tk - a kind of a
  2090. libc for Tcl.  The toolbox is a collection of commonly used code and
  2091. some specialized code such as fileselectors, dialogs that take care of
  2092. keyboard traversal through items automatically, etc.
  2093.  
  2094. The project has currently not yet reached a usable state, but each formal
  2095. release will be announced in comp.lang.tcl as well as other newsgroups.
  2096.  
  2097. There is a mailing list for discussion of the tk toolbox, kindly provided by
  2098. Ari Lemmke.  To subscribe, write a message with the line:
  2099. X-Mn-Admin: join tktools
  2100.  
  2101. in the body or header of the message.  Send this message to
  2102. linux-activists-request@niksula.cs.hut.fi .
  2103.  
  2104. To write to the list, send messages to to
  2105. linux-activists@niksula.cs.hut.fi
  2106. and add the line
  2107. X-Mn-Key: TKTOOLS
  2108. to the header or the body of the message. Especially remember this when
  2109. replying to messages from the list.
  2110.  
  2111. For more info about the list server (mailnet), write 
  2112. an empty message to linux-activists-request@niksula.cs.hut.fi .
  2113.  
  2114. The intermediate snapshots are announced on this mailing list.
  2115.  
  2116. If you have problems or are willing to donate code or whatever,
  2117. you can contact the code maintainer (one of the three main implementors)
  2118. at tlukka@snakemail.hut.fi or lukka@helsinki.fi .
  2119.  
  2120. ------------------------------
  2121.  
  2122. From: FAQ Tcl/Tk Package Catalog
  2123. Subject: -XII- What are some examples of applications using Tcl and Tk?
  2124.  
  2125. What: Simple name of package
  2126. Where: ftp site or 'From the contact'
  2127. Description: One to two line description of package, including Tk/Tcl version
  2128.     requirements.
  2129. Contact: Email address for questions, comments, etc.
  2130.  
  2131. What: Alpha
  2132. Where: cs.rice.edu:/public/Alpha/Alpha_5.31.sea.hqx
  2133. Description: Alpha version 5.x is a Macintosh System 7.0 shareware ($25) 
  2134.     Tcl programmable editor.  The Think C 5.0 Tcl source for the Mac 
  2135.     is available on cs.rice.edu as well.
  2136. Contact: pete@cs.rice.edu
  2137.  
  2138. What: Amiga OS Tcl 3.x port
  2139. Where: From the contact
  2140. Description: A port of Tcl 3.x to the Amiga.  Uses Amiga share libraries
  2141.     and implements "send" under the Amiga OS, plus a post.  Includes
  2142.     a MIDI file loader and player.  Works, but is not up to the latest
  2143.     version of Tcl nor is further work occurring.
  2144. Contact: "Karl Lehenbauer" <karl@sugar.neosoft.com>
  2145.  
  2146. What: arTCLs
  2147. Where: harbor.ecn.purdue.edu:/pub/tcl/code/artcls.tar.Z
  2148. Description: a Wish-based USENET news reader
  2149. Contact: mh@wx.gtegsc.com (Mike Hoegeman)
  2150.  
  2151. What: biff clock
  2152. Where: From the contact
  2153. Description: Tk example program showing biff and xclock like functions
  2154. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2155.  
  2156. What: BOS
  2157. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/bos-1.31.tar.Z,
  2158.     monch.edrc.cmu.edu:/usr0/snl/archive,
  2159.     sambar.ndim.edrc.cmu.edu:/afs/cs/user/snl/public
  2160. Description: BOS - the Basic Object System; SELF-like Tcl objects.
  2161.     This is also an extension to Tcl.
  2162. Contact:  snl+bos-requests@cmu.edu (Admin. requests for BOS mailing list)
  2163.     snl+box@cmu.edu (BOS mailing list)
  2164.  
  2165. What: Bowling
  2166. Where: From the contact
  2167. Description: Tk based bowling game, using the core Tcl/Tk.
  2168. Contact: grina@news.fai.com (Peter Grina)
  2169.  
  2170. What: browse.tcl
  2171. Where: alt.sources archives
  2172. Description: Directory browser w/Tcl
  2173. Contact: peter@taronga.com (Peter da Silva)
  2174.  
  2175. What: BYO
  2176. Where: harbor.ecn.purdue.edu:/pub/tcl/code/byo_tk2.1_v0.7_tar.Z ,
  2177.     harbor.ecn.purdue.edu:/pub/tcl/code/byo_v0.7_patch1 ,
  2178.     ftphost.comp.vuw.ac.nz:/pub/tcl/byo_tk2.1_v07_tar.Z
  2179. Description: A graphical User Interface Builder for Wish
  2180. Contact: byo@comp.vuw.ac.nz (BYO Development Team)
  2181.  
  2182. What: calc.tk
  2183. Where: harbor.ecn.purdue.edu:/pub/tcl/code/calc.tk
  2184. Description: a simple calculator.
  2185. Contact: david@twg.com (David Herron)
  2186.  
  2187. What: Clock (Analog)
  2188. Where: From the contact
  2189. Description: Graphical representation of non-digital clock.
  2190. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2191.  
  2192. What: Compare Manifest
  2193. Where: From the contact
  2194. Description: Extended Tcl program that reads a MANIFEST and compares
  2195.     directory hierarchy to it.
  2196. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2197.  
  2198. What: coloredit 
  2199. Where: harbor.ecn.purdue.edu:/pub/tcl/code/coloredit.tk
  2200. Description: Tk script to edit colors
  2201. Contact: "Sam Shen" <sls@aero.org>
  2202.  
  2203. What: CUTE
  2204. Where: From the contact
  2205. Description: Call Unix/Tcl Environment - a serial port 'expect' like
  2206.     program.
  2207. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2208.  
  2209. What: DejaGnu
  2210. Where: ftp.cygnus.com:/pub/dejagnu/dejagnu-1.0.tar.z and other GNU sites.
  2211. Description: an expect 4.5.2 based package designed to be a framework
  2212.     for testing other software.  Separate test suites exist for 
  2213.     GDB and binutils.  Note that the tar includes a complete release
  2214.     of Tcl 6.7 and expect 4.5.2.
  2215. Contact: "Rob Savoye" <rob@cygnus.com>
  2216.  
  2217. What: directory browser
  2218. Where: harbor.ecn.purdue.edu:/pub/tcl/code/dir.shar.Z
  2219. Description: Simple directory browser behaving similar to NeXT file browser.
  2220. Contact: khattra@cs.sfu.ca (Taj Khattra)
  2221.  
  2222. What: Directory User Agent interface
  2223. Where: ftp.ics.uci.edu:/mrose/fredtcl/fredtcl-sunos4.tar.Z
  2224.     ftp.ics.uci.edu:/mrose/fredtcl/fredtcl.tar.Z
  2225. Description: A program that interrogates the OSI Directory about information
  2226.     objects, people, programs, organizations, etc.
  2227. Contact: isode@nic.ddn.mil
  2228.  
  2229. What: Drag and Drop directory browser
  2230. Where: harbor.ecn.purdue.edu:/pub/tcl/code/dragdrop-1.1.tar.Z
  2231. Description: Graphical paradigm for coordinating "send" commands
  2232.     Contains a drag and drop based directory browser.
  2233. Contact: "Michael J. Mclennan" <michael.mclennan@att.com>
  2234.  
  2235. What: Drag and Drop file browser
  2236. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/dragndrop.tk.Z
  2237. Description: Drag and drop based directory browser (tkfb) and helper programs
  2238. Contact: "Scott Schwartz" <schwartz@groucho.cs.psu.edu>
  2239.  
  2240. What: edit-html
  2241. Where: export.lcs.mit.edu:/contrib/edit-html.tcl.Z
  2242. Description: Tk wish script for creating HTML-based documents.
  2243. Contact: "Nathan Torkington" <Nathan.Torkington@vuw.ac.nz>
  2244.  
  2245. What: Expect
  2246. Where: ftp.cme.nist.gov:/pub/expect/expect.shar.Z 
  2247. Description: a scripting language to talk to interactive programs like ftp,
  2248.     telnet, fsck, and others that cannot be automated from a shell script
  2249. Contact: libes@cme.nist.gov (Don Libes)
  2250.  
  2251. What: Expect (Tcl 6.5 compatible)
  2252. Where: ftp.cme.nist.gov:/pub/expect/alpha.shar.Z
  2253. Description: a scripting language to talk to interactive programs like ftp,
  2254.     telnet, fsck, and others that cannot be automated from a shell script
  2255.     This is an alpha version due to Tcl 6.5 limitations.
  2256. Contact: libes@cme.nist.gov (Don Libes)
  2257.  
  2258. What: expecTerm
  2259. Where: ceylon.gte.com:/pub/expecterm/expecTerm1.0beta.tar.Z,
  2260.     harbor.ecn.purdue.edu:/pub/tcl/extensions/expecTerm1.0beta.tar.Z
  2261. Description: expect with terminal emulation
  2262. Contact: matheus@gte.com (Christopher J. Matheus) and
  2263.     weissman@get.com (Mark D. Weissman)
  2264.  
  2265. What: Extended Tcl
  2266. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclX6.5c.tar.Z,
  2267.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tclX6.5c-6.7c.update.shar.Z,
  2268.     sprite.berkeley.edu:/tcl/tclX6.5c.tar.Z
  2269. Description: an essential package of extensions for Tcl, compatible with 
  2270.     Tcl 6.[567] / Tk 3.[012].
  2271. Contacts: markd@grizzly.com (Mark Diekhans) and
  2272.     karl@neosoft.com (Karl Lehenbauer)
  2273.  
  2274. What: fn and ForumNet
  2275. Where: f.ms.uky.edu
  2276. Description: ForumNet - teleconferencing system,
  2277.     fn - client to access ForumNet
  2278. Contact: sean@ms.uky.edu (Sean Casey)
  2279.  
  2280. What: FSBox
  2281. Where: harbor.ecn.purdue.edu:/pub/tcl/code/FSBox.tar.Z ,
  2282.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tkFSBox.tar.Z ,
  2283.     coma.cs.tu-berlin.de
  2284. Description: Tk 3.x File Selection dialog box 
  2285. Contact: "Sven Delmas" <garfield@cs.tu-berlin.de>
  2286.  
  2287. What: getcons
  2288. Where: harbor.ecn.purdue.edu:/pub/tcl/code/getcons.shar.Z
  2289. Description: Console managment tool - a wish based contool so to speak.
  2290. Contact: osborn@ae.sps.mot.com (Steve Osborn)
  2291.  
  2292. What: hp-tcl-cdplay
  2293. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/hp-tcl-cdplay.tar.Z
  2294. Description: a Tk interface to the HP CD-ROM player
  2295. Contact: "Mike Hoegeman" <mh@wx.gtegsc.com>
  2296.  
  2297. What: js tools
  2298. Where: princeton.edu:/pub/js/jstools-tk3.2v1.0.tar.Z,
  2299.     harbor.ecn.purdue.edu:/pub/tcl/code/jstools-tk3.2v1.0.tar.Z
  2300. Description: A configurable directory browser (similar to the NeXT browser),
  2301.     a extensible text editor, and a multi-font help viewing system.
  2302. Contact: "Jay Sekora" <js@princeton.edu>
  2303.  
  2304. What: Libsearch
  2305. Where: From the contact
  2306. Description: expect driven interface to Internet library databases.
  2307. Contact: "Terrence Brannon" <brannon@jove.cs.caltech.edu>
  2308.  
  2309. What: lookup
  2310. Where: From the contact
  2311. Description: Look up words in /usr/dict/word file.
  2312. Contact: raines@bohr.physics.upenn.edu (Paul Raines)
  2313.  
  2314. What: MacOS Tcl, 6.1
  2315. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl61.cpt.bin
  2316. Description: Tcl6.1 Mac port (ThinkC 5.0.1)
  2317. Contact: parag@netcom.com (Parag Patel)
  2318.  
  2319. What: MacOS Tcl, 6.1v2
  2320. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/MacTcl6.1v2.sea.hqx
  2321. Description: Tcl6.1 Mac port (ThinkC 5.0.1) with a few extensions and fixes
  2322. Contact: rjohnson@kabuki.rdd.lmsc.lockheed.com (Ray Johnson)
  2323.  
  2324. What: MacOS Tcl, 6.7
  2325. Where: From the contact
  2326. Description: Tcl6.7 Mac port (ThinkC 5.0.1).
  2327. Contact: rjohnson@kabuki.rdd.lmsc.lockheed.com (Ray Johnson)
  2328.  
  2329. What: man.tk
  2330. Where: From the contact
  2331. Description: Tk based man page browser.
  2332. Contact: bagwill@swe.ncsl.nist.gov (Bob Bagwill),
  2333.     bowe@acme.osf.org (John Bowe)
  2334.  
  2335. What: Modules
  2336. Where: ftp.eng.auburn.edu:/pub/Modules/Modules-v2.0.tar.Z
  2337. Description: a dynamic user environment customization package
  2338. Contact: "John L. Furlani" <john.furlani@sun.com>
  2339.  
  2340. What: MS-DOS Tcl, 6.0a
  2341. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl.zoo,
  2342.     harbor.ecn.purdue.edu:/pub/tcl/distrib/dostcl60.tar.Z
  2343. Description: Experimental MS-DOS Tcl 6.0a port
  2344. Contact: "Karl Lehenbauer" <karl@NeoSoft.com>
  2345.  
  2346. What: MS-DOS Tcl, 6.2
  2347. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl62.dos.tar
  2348.     Cajal.uoregon.edu:/pub/tcl.dos.port/*
  2349. Description: stable port of Tcl 6.2, and extra libraries, ported to MS-DOS
  2350. Contact: dos-tcl@cajal.uoregon.edu (John Martin)
  2351.  
  2352. What: MS-DOS Tcl, 6.7
  2353. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/tcl67dos.zip 
  2354.     wuarchive.wustl.edu:/incoming
  2355. Description: Port of Tcl 6.7 to MS-DOS.
  2356. Contact: PSPRENG@CIPVAX.BIOLAN.UNI-KOELN.DE (Peter Sprenger)
  2357.  
  2358. What: MS-DOS Windows Tcl
  2359. Where: harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclbin.zip ,
  2360.     harbor.ecn.purdue.edu:/pub/tcl/distrib/w_tclsrc.zip
  2361. Description: Port of Tcl (version unknown) to MS-DOS Windows (version unknown).
  2362. Contact: Unknown
  2363.  
  2364. What: Mx
  2365. Where: sprite.berkeley.edu:/pub/tcl/mx.tar.Z
  2366.     sprite.berkeley.edu:/pub/tcl/mx-2.5.tar.Z
  2367. Description: a old Tcl/Sx based text editor
  2368. Contact: "John Ousterhout" <ouster@sprite.berkeley.edu>
  2369.  
  2370. What: Netrek Metaserver Monitor
  2371. Where: From the contact
  2372. Description: Tk 2.1/tclRawTCP based Tk program to monitor the metaserver.
  2373. Contact: sls@aero.org (Sam Shen)
  2374.  
  2375. What: Objectify
  2376. Where: From the contact
  2377. Description: First attempt at turning a C++ class into a Tcl object type.
  2378. Contact: faustus@ygdrasil.CS.Berkeley.EDU (Wayne A. Christopher)
  2379.  
  2380. What: Parseargs
  2381. Where: From comp.sources.misc archives, volume 29,
  2382.     wuarchive.wustl.edu:/usenet/comp.sources.misc/volume29/parseargs
  2383. Description: Utility library for parsing command line arguments in various
  2384.     languages (including Tcl) and on various hardware platforms
  2385. Contact: "Eric P. Allman" <eric@Berkeley.EDU>,
  2386.     "Peter da Silva" <peter@Ferranti.COM>,
  2387.     "Brad Appleton" <brad@SSD.CSD.Harris.COM>
  2388.  
  2389. What: Point
  2390. Where: ftp.cs.unm.edu:/pub/Point/point1.60.tar.Z,
  2391.     ftp.cs.unm.edu:/pub/Point/point1.56.tar.Z
  2392. Description: a Tk based text editor - 1.60 works with Tk 3.0,
  2393.     1.56 works with tk 2.3.
  2394. Contact: "Charlie Crowley" <crowley@cs.unm.edu>
  2395.  
  2396. What: PostgresBrowswer
  2397. Where: harbor.ecn.purdue.edu:/pub/tcl/code/postgresbrowser.tcl.Z
  2398. Description: An experimental postgres frontend.
  2399. Contact: "Frank Sauer" <sauer@hercules.eng.miami.edu>
  2400.  
  2401. What: Picasso
  2402. Where: iis.ethz.ch:/iisdist/graphics/picasso.tar.Z.dex
  2403. Description: Interactive visualization tool with object oriented user interface.
  2404.     Free, but requires completion of physical license form before
  2405.     code is available.  See directory for examples.tar.Z which contains
  2406.     doc and some sample output files, etc.
  2407. Contact: "Mark Westermann" <westerma@iis.ethz.ch>
  2408.  
  2409. What: pixmap
  2410. Where: harbor.ecn.purdue.edu:/pub/tcl/code/pixmap-0.1.tar.Z
  2411. Description: A color pixmap editor written in Tk.
  2412. Contact: "Sam Shen" <sls@aero.org>
  2413.  
  2414. What: reversi
  2415. Where: harbor.ecn.purdue.edu:/pub/tcl/code/reversi-1.0.tk
  2416. Description: Reversi (othello) game.
  2417. Contact: "Joel Fine" <joel@cs.berkeley.edu>
  2418.  
  2419. What: Roger's Interface Language (RIL)
  2420. Where: alt.sources archives,
  2421.     export.lcs.mit.edu:/contrib/ril.tar.Z
  2422. Description: a preprocessor for resource files.
  2423. Contact: "Roger Reynolds" <rogerr@netcom.com>
  2424.  
  2425. What: rolodex
  2426. Where: From the Tk demos directory
  2427. Description: John Ousterhout's entry to Tom Solbourne's 1992 X toolkit
  2428.     challenge.
  2429. Contact: ouster@sprite.Berkeley.EDU (John Ousterhout)
  2430.  
  2431. What: ServiceMail(tm) Toolkit (servicemail.tar.Z)
  2432. Where: eitech.com:/servicemail1.2.tar.Z
  2433. Description: Electronic mail server toolkit (v1.1, 9-8-92).
  2434. Contact:  servicemail-help@eitech.com (ServiceMail questions),
  2435.     or subscribe to servicemail-help mailing list by sending a message
  2436.     to the "listserv subscribe servicemail-help your-real-name" service at
  2437.     "services@eitech.com".
  2438.  
  2439. What: SGI GL interpretor
  2440. Where: metallica.prakinf.tu-ilmenau.de:/pub/GLIP/glip0.8.tar.Z
  2441.     metallica.prakinf.tu-ilmenau.de:/pub/GLIP/glip0.8.doc.ps.Z
  2442. Description: Tcl based interpreter for Silicon Graphics GL.
  2443. Contact: ekki@prakinf.tu-ilmenau.de (Ekkehard Beier)
  2444.  
  2445. What: smaillog
  2446. Where: alt.sources archives
  2447. Description: email activity report for smail 2.5
  2448. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2449.  
  2450. What: Tcl
  2451. Where: sprite.berkeley.edu:/tcl/tcl6.7.tar.Z
  2452. Description: the complete base package for Tcl 6.7.  Not needed if you
  2453.     get Tk 3.2.
  2454. Contact: "John Ousterhout" <ouster@sprite.berkeley.edu>
  2455.  
  2456. What: tclbot
  2457. Where: belch.berkeley.edu:/pub/mud_robots/tclbot
  2458. Description: MUD robot for Tcl programmers
  2459. Contact: "Rusty C. Wright" <rusty@garnet.berkeley.edu.>
  2460.  
  2461. What: Tcl IPC interface
  2462. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclipc1-0.tar.Z
  2463. Description: Implements Tk's send command without requiring Tk or X11.
  2464. Contact: "Kim Gillies" <gillies@noao.edu>
  2465.  
  2466. What: tcltags
  2467. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tcltags.tcl.Z
  2468. Description: Emacs TAGS generation for Tcl source.
  2469. Contact: "Tom Tromey" <tromey@ocellus.lanl.gov>
  2470.  
  2471. What: tcltools
  2472. Where: cygnus.com:/pub/tcltools-930124.tar.Z ,
  2473.      harbor.ecn.purdue.edu:/pub/tcl/code/tcltools-930124.tar.Z
  2474. Description: Version of Tcl 6.5 and Tk 3.0 which uses autoconfig for 
  2475.     configuration purposes.
  2476. Contact: zoo@cygnus.com (david d 'zoo' zuhn)
  2477.  
  2478. What: tcltt, v1
  2479. Where: ftp.white.toronto.edu:/pub/muds/tcltt
  2480. Description: Tcl TinyTalk
  2481. Contact: "Chris Siebenmann" <cks@white.toronto.edu>
  2482.  
  2483. What: TCLtt (TCL-TinyTalk)
  2484. Where: From the contact
  2485. Description: Programmable client for connecting to MUDs (effectively, chat
  2486.     servers with role playing).  Uses TCL 6.7, should be OK with earlier.
  2487. Contact: dkfenger@sirius.uvic.ca (David Fenger)
  2488.  
  2489. What: TeenyMUD
  2490. Where: From the contact
  2491. Description: a small Multi User Dungeon program which is based on a 
  2492.     heavily modified version of Tcl.
  2493. Contact: teeny-list-request@fido.econlab.arizona.edu (TeenyMUD admin addr) ,
  2494.     teeny-list@fido.econlab.arizona.edu (Teeny MUD Mailing List) ,
  2495.     downsj@atlantis.CS.ORST.EDU (jason downs)
  2496.         
  2497. What: tickle
  2498. Where: ftp.msen.com:/pub/vendor/ice/tickle/AppOnly.hqx ,
  2499.     ftp.msen.com:/pub/vendor/ice/tickle/DocOnly.hqx ,
  2500.     ftp.msen.com:/pub/vendor/ice/tickle/EngineOnly.hqx ,
  2501.     ftp.msen.com:/pub/vendor/ice/tickle/scripts.hqx ,
  2502.     ftp.msen.com:/pub/vendor/ice/tickle/XTCL.hqx 
  2503. Description: Tickle 3.1v1 is a Macintosh utility for file conversions 
  2504.      handles binhex, uudecode, compress, tar, MacBinary,
  2505.     Apple Single/Double, etc.
  2506. Contact: tickle@ice.com
  2507.  
  2508. What: Tk
  2509. Where: sprite.berkeley.edu:/tcl/tk3.2.tar.Z
  2510. Description: the complete base package for Tcl
  2511. Contact: "John Ousterhout" <ouster@sprite.berkeley.edu>
  2512.  
  2513. What: Tk command interpretor
  2514. Where: From the contact
  2515. Description: A Tk terminal emulator-like widget.
  2516. Contact: Rudi Stouffs <rs6y+@andrew.cmu.edu>
  2517.  
  2518. What: tk WWW interface
  2519. Where: info.cern.ch:/pub/www/src/tkWWW-0.7.tar.Z ,
  2520.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tkWWW-0.8.tar.Z ,
  2521.     export.lcs.mit.edu:/contrib/tkWWW-0.8.tar.Z
  2522. Description: A Tk World Wide Web (WWW) browser, requires tk 3.1 or greater.
  2523. Contact: tk-www-request@athena.mit.edu (administration of mailing list),
  2524.     tk-www@athena.mit.edu (WWW Tk Browser Discussion List)
  2525.  
  2526. What: Tk xworld
  2527. Where: From the contact
  2528. Description: Tk world builder for the xworld server
  2529. Contact: "Michael D. Moore" <mdm@cis.ohio-state.edu>
  2530.  
  2531. What: tkinfo
  2532. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tkinfo-0.3.tar.Z
  2533.     ptolemy.berkeley.edu:/pub/misc/tkinfo-0.3.tar.Z
  2534. Description: GNU info parsing and interpretation code and a Tk program
  2535.     providing a sample of how to use it.
  2536. Contact: kennard@tukey.berkeley.edu (Kennard White)
  2537.  
  2538. What: tkinspect
  2539. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tkinspect-4c.tar.Z
  2540. Description: A Tk application browser/inspector
  2541. Contact: sls@aero.org (Sam Shen)
  2542.  
  2543. What: TkIspell
  2544. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tkispell-1.3.Z
  2545. Description: Interface to ispell command
  2546. Contact: raines@bohr.physics.upenn.edu (Paul Raines)
  2547.  
  2548. What: tkkids
  2549. Where: From the contact
  2550. Description: Two kids' games - a Concentration-like memory game and
  2551.     a spelling game (requires speak/scat software).
  2552. Contact: grina@news.fai.com (Peter Grina)
  2553.  
  2554. What: TkMail
  2555. Where: bohr.physics.upenn.edu:/pub/tk/tkmail.*
  2556.     harbor.ecn.purdue.edu:/pub/tcl/code/tkmail-1.2.tar.Z
  2557. Description: Tk interface to Mail
  2558. Contact: raines@bohr.physics.upenn.edu (Paul Raines)
  2559.  
  2560. What: TkMan
  2561. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tkman-1.3.1.tar.Z
  2562.     bohr.physics.upenn.edu:/pub/tkman-1.3_SGI.tar.Z
  2563. Description: A Tk based man page reader with hypertext links.  Also a
  2564.     separate version for Silicon Graphics man pages exists.
  2565. Contact: phelps@ginkgo.CS.Berkeley.EDU (Tom Phelps)
  2566.  
  2567. What: tkmines
  2568. Where: harbor.ecn.purdue.edu:/pub/tcl/code/tkmines.1.3.shar.Z
  2569. Description: Mines game.
  2570. Contact: "Joel Fine" <joel@cs.berkeley.edu>
  2571.  
  2572. What: tkwool
  2573. Where: From the contact
  2574. Description: A version of Tk which uses the wool language rather than
  2575.     Tcl.  A Sun 4 binary is available on avahi.inria.fr:/wtk
  2576. Contact: colas@opossum.inria.fr (Colas Nahaboo)
  2577.  
  2578. What: Towers of Hanoi
  2579. Where: From the contact
  2580. Description: Sample of Towers of Hanoi solution in Tk.
  2581. Contact: fubar!dap@natinst.com (Damon Permezel)
  2582.  
  2583. What: tupact
  2584. Where: alt.sources archives
  2585. Description: 9X faster C-news active file "minimum article" updater
  2586. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2587.  
  2588. What: twoClocks
  2589. Where: harbor.ecn.purdue.edu:/pub/tcl/code/twoClocks.tcl.Z
  2590. Description: Two different kinds of clock
  2591. Contact: "Charles Read" <read@oracle.lanl.gov>
  2592.  
  2593. What: Tx
  2594. Where: sprite.berkeley.edu:/pub/tcl/mx.tar.Z
  2595. Description: an old Tcl/Sx based terminal emulator
  2596. Contact: "John Ousterhout" <ouster@sprite.berkeley.edu>
  2597.  
  2598. What: unix.tk
  2599. Where: sprite.berkeley.edu - in the Tcl mailing list archive file
  2600. Description: a Unix Tk browser
  2601. Contact: "Brent Welch" <welch@parc.xerox.com>
  2602.  
  2603. What: UserMaint
  2604. Where: harbor.ecn.purdue.edu:/pub/tcl/code/UserMaint_V1.0.tar.Z
  2605. Description: a Tk based user account maintenance package for maintaining
  2606.     /etc/passwd, /etc/group, etc.
  2607. Contact: eads@mickey (Charles Eads)
  2608.  
  2609. What: user-setup
  2610. Where: ftp.eng.auburn.edu:/pub/Modules/user-setup2.0.tar.Z
  2611. Description: Menu driven interface to the Modules package.
  2612. Contact: elling@eng.auburn.edu (Richard Elling)
  2613.  
  2614. What: VMS port of Tcl/Tk
  2615. Where: src.honeywell.com:/pub/tcl67-tk32-on-vms55.tar.Z
  2616. Description: Port of most of Tcl 6.7 and Tk 3.2 done by a number of folk.
  2617. Contact: jkimball@src.honeywell.com (John Kimball)
  2618.  
  2619. What: Wafe
  2620. Where: ftp.wu-wien.ac.at:/pub/src/X11/wafe/wafe-0.94.tar.Z
  2621. Description: Symbolic interface to Athena Widgets.  Note that this
  2622.     can be used with Xaw3d-0.1.tar.Z to get 3-D Athena widget
  2623.     presentation.
  2624. Contact: wafe@wu-wien.ac.at
  2625.  
  2626. What: widget server
  2627. Where: harbor.ecn.purdue.edu:/pub/tcl/code/ws1.0.tar.Z
  2628. Description: Widget server designed for use with the X11/emacs program epoch.
  2629. Contact: blk@mitre.org (Brian L. Kahn)
  2630.  
  2631. What: workman
  2632. Where: harbor.ecn.purdue.edu:/pub/tcl/code/workman.tar.Z
  2633. Description: workman - The Civilized CD Player
  2634. Contact: "Steve Grimm" <koreth@sun.com>
  2635.  
  2636. What: wtour
  2637. Where: harbor.ecn.purdue.edu:/pub/tcl/code/wtour1.0.tar.Z
  2638. Description: Tk 3.x Widget tour.
  2639. Contact: "Andrew Payne" <payne@crl.dec.com>
  2640.  
  2641. What: Xdig
  2642. Where: harbor.ecn.purdue.edu:/pub/tcl/code/Xdig.shar
  2643. Description: A Wish-based interface to the Domain Internet Groper (dig)
  2644. Contact: "Dave Collier-Brown" <davecb@nexus.yorku.ca>
  2645.  
  2646. What: xf
  2647. Where: harbor.ecn.purdue.edu:/pub/tcl/code/xf2.2.tar.Z ,
  2648.     harbor.ecn.purdue.edu:/pub/tcl/docs/xf-doc.ps.Z ,
  2649.     harbor.ecn.purdue.edu:/pub/tcl/docs/xf-doc-legal-nopics.dvi.Z ,
  2650.     harbor.ecn.purdue.edu:/pub/tcl/docs/xf-doc-legal-nopics.ps.Z ,
  2651.     harbor.ecn.purdue.edu:/pub/tcl/docs/xf-doc-legal.ps.Z ,
  2652.     harbor.ecn.purdue.edu:/pub/tcl/code/xf2.2.patch01.Z
  2653.     harbor.ecn.purdue.edu:/pub/tcl/code/xf2.2.patch02.Z
  2654.     harbor.ecn.purdue.edu:/pub/tcl/code/xf2.2.patch03.Z
  2655.     harbor.ecn.purdue.edu:/pub/tcl/code/xf2.2.patch04.Z
  2656.     coma.cs.tu-berlin.de:/pub/tcl/xf.tar.Z
  2657. Description: user interface builder for wish/Tk 2.3.  Older versions
  2658.     are available for older tk versions.
  2659. Contact: send a "sub xf-l Your Name" line to listserv@tubvm.cs.tu-berlin.de
  2660.     to subscribe to the XF mailing list,
  2661.     "Sven Delmas" <garfield@cs.tu-berlin.de>
  2662.  
  2663. What: Zap Interpreters
  2664. Where: From the contact
  2665. Description: Simple Tk script to clear out all wish interpreters which 
  2666.     died without being removed.
  2667. Contact: spencer@med.umich.edu (Spencer W. Thomas)
  2668.  
  2669. ------------------------------
  2670.  
  2671. From: FAQ Tcl/Tk Package Catalog
  2672. Subject: -XIII- Since Tcl/Tk appear to be extensible, are there any
  2673.         common extensions?
  2674.  
  2675. What: addinput
  2676. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/addinput-3.2.Z
  2677. Description: Implements two new Tk file handle callback commands.
  2678. Contact: "Mark Diekhans" <markd@grizzly.com>
  2679.  
  2680. What: busy window
  2681. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/busy-1.1.tar.Z
  2682. Description: Tk extension to create a busy command which prevents the
  2683.     user from clicking on application buttons while the program is busy.
  2684. Contact: gah@att.com (George A. Howlett)
  2685.  
  2686. What: C++ Tcl objects
  2687. Where: From the contact
  2688. Description: C++ code which allows you to develop software in C++
  2689.     and create C++ objects which implemented in Tcl/Tk.
  2690. Contact: stephan@cs.tu-berlin.de (Stephan Herrmann)
  2691.  
  2692. What: Calc_Object
  2693. Where: From the contact
  2694. Description: A Tcl object which talks to bc via expect.
  2695. Contact: "Terrence Brannon" <tb06@pl122a.eecs.lehigh.edu>
  2696.  
  2697. What: calculator
  2698. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/calculator.tk.tar.Z
  2699. Description: Simple Tk calculator
  2700. Contact: "Richard Booth" <richard.booth@att.com>
  2701.  
  2702. What: calendar
  2703. Where: From the contact
  2704. Description: Tk calendar widget
  2705. Contact: sani@att.com (Sani Nassif [227])
  2706.  
  2707. What:  color settings
  2708. Where: From the contact
  2709. Description: Tcl procedure to select appropriate color whether machine is
  2710.     color or monochrome
  2711. Contact: gandalf@Csli.Stanford.EDU (Juergen Wagner)
  2712.  
  2713. What: deck.tk    
  2714. Where: harbor.ecn.purdue.edu:/pub/tcl/code/deck.tk
  2715. Description: A simple implementation of InterViews "deck" widget
  2716. Contact: vanandel@rsf.atd.ucar.edu (Joe VanAndel)
  2717.  
  2718. What: Directed Acyclic Graph (DAG) widgets
  2719. Where: From the contact
  2720. Description: Tk DAG display widget (computed in LISP and visualized in Tk).
  2721.     To be made available in May, 1993.
  2722. Contact: gandalf@Csli.Stanford.EDU (Juergen Wagner)
  2723.  
  2724. What: Disjoint listbox selections
  2725. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/Listbox.patch
  2726. Descriptions: Tk 3.2 listbox Disjoint selections.
  2727. Contact: "Marc R. Ewing" <me12+@andrew.cmu.edu>
  2728.  
  2729. What: SunOS dld package
  2730. Where: From the contact
  2731. Description: Tcl front end for SunOS 4.x dynamic loading routines.
  2732. Contact: "Jean-Luc Chatelain" <jlc@adaclabs.com>
  2733.  
  2734. What: Eiffel / Tcl interface
  2735. Where: ftp.dcs.gla.ac.uk:/pub/glasgow-fp/authors/Duncan_Sinclair/fumx.*
  2736. Description: A set of functions to allow an Eiffel program to invoke the
  2737.     Tcl interpretor.
  2738. Contact: stephan@cs.tu-berlin.de (Stephan Herrmann)
  2739.  
  2740. What: file selector
  2741. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/fileselect.tcl
  2742. Description: file selector box
  2743. Contact: "Mario Jorge Silva" <msilva@cs.Berkeley.EDU>
  2744.  
  2745. What: file select (sherman)
  2746. Where: From the contact
  2747. Description: A "more over-developed file-selection mechanism".
  2748. Contact: asherman@fmrco.com (Aaron Sherman)
  2749.  
  2750. What: Tk focus follows pointer
  2751. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/focus3.1a.PATCH
  2752. Description: Tk 3.[12] patch to implement focus follows pointer and
  2753.     key propagation model.
  2754. Contact: "Kennard White" <kennard@ohm.Berkeley.EDU>
  2755.  
  2756. What: font settings
  2757. Where: From the contact
  2758. Description: Tcl package "getfont" which returns a font matching request
  2759.     as closely as possible.
  2760. Contact: spencer@med.umich.edu (Spencer W. Thomas)
  2761.  
  2762. What: graph
  2763. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/graph-1.1.tar.Z
  2764. Description: XY graphic plot and hypertext widgets for Tk 2.x
  2765. Contact: "George Howlett" <george.howlett@att.com>
  2766.  
  2767. What: GroupKit
  2768. Where: cpsc.ucalgary.ca:/pub/roseman/tclgk-beta2.tar.Z
  2769. Description: Tcl/Tk based version of InterViews GroupKit.
  2770. Contact: roseman@cpsc.ucalgary.ca (Mark Roseman)
  2771.  
  2772. What: iconbutton
  2773. Where: From the contact
  2774. Description: Tk 1.4 button widget which displays bitmap
  2775. Contact: Trevor.Lowe@comp.vuw.ac.nz (Trevor Lowe)
  2776.  
  2777. What: Lamda anonymous procedures
  2778. Where: From the contact
  2779. Description: Set of Tcl modifications to allow definition of anonymous
  2780.     (unnamed) procedures
  2781. Contact: spencer@med.umich.edu (Spencer W. Thomas)
  2782.  
  2783. What: lisp2wish
  2784. Where: harbor.ecn.purdue.edu:/pub/tcl/code/lisp2wish6.tar.Z
  2785. Description: Wish to Common Lisp interface
  2786. Contact: kaye@linc.cis.upenn.edu (Jonathan Kaye)
  2787.  
  2788. What: list select
  2789. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/listselect.tcl
  2790. Description: Simple file selector
  2791. Contact: "Mario Jorge Silva" <msilva@cs.Berkeley.EDU>
  2792.  
  2793. What: Multibyte Support for Tk
  2794. Where: harbor.ecn,purdue,edu:/pub/tcl/extension/patch-16bit.0.2.tar.Z
  2795. Description: Tk 3.2 support for 2 byte character strings.
  2796. Contact: furukawa@apricot.kek.jp (Kazuro Furukawa)
  2797.  
  2798. What: Multiple interpretor support
  2799. Where:  harbor.ecn.purdue.edu:/pub/tcl/extensions/minterp-0.9.tar.gz
  2800. Description: Create/control Multiple Interpretors from TCL, and also
  2801.     Object Oriented Programming.
  2802. Contact: David Herron <david@davids.mmdf.com>
  2803.  
  2804. What: Mxedit
  2805. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/mxedit.2.0.2.tar.Z,
  2806.     parcftp.xerox.com:/pub/mxedit/mxedit.2.0.2.tar.Z
  2807. Description: An editable text Tk widget and a fully functional editor 
  2808.     based on the widget.
  2809. Contact: welch@parc.xerox.com (Brent Welch)
  2810.  
  2811. What: net CDF
  2812. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/net_tcl.tar.Z
  2813. Description: Tcl wish with hooks for netCDF (??)
  2814. Contact: 
  2815.  
  2816. What: Network Management
  2817. Where: From the contact
  2818.     (tcl_curses, tcl_dbm, tcl_mib, tclnm, and tcl_snmp or tk_snmp)
  2819.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tcl_curses.shar.Z)
  2820. Description: These four independent packages are used to build a Tcl'ish
  2821.     network-management tool.  Though not finished yet, it offers many
  2822.     features lacking in commercial offerings, mainly by being a tool
  2823.     rather than an application.  If you're dissatisfied with your
  2824.     present NM-tool, check this.
  2825. Contact: phk@data.fls.dk (P-HK/Poul-Henning Kamp),
  2826.      tcl_snmp@data.fls.dk (Mailing list for tcl_snmp)
  2827.      tcl_snmp-request@data.fls.dk for subscription to above mailing list.
  2828.  
  2829. What: Photo widget
  2830. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/photo-2.0a.tar.Z
  2831.     dcssoft.anu.edu.au:/pub/tk/photo-2.0a.tar.Z ,
  2832.     harbor.ecn.purdue.edu:/pub/tcl/extensions/photo.tar.Z 
  2833. Description: widget which displays a monochrome or color image using dithering
  2834.     (photo.tar.Z is an older version).
  2835. Contact: paulus@cs.anu.edu.au (Paul Mackerras)
  2836.  
  2837. What: Postgres extensions
  2838. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/PQTcl.tar.Z
  2839. Description: C and C++ versions of interface to the UCB libPQ Postgres
  2840.     relational database.
  2841. Contact: rmaxwell@ossi.COM (Robin J. Maxwell)
  2842.  
  2843. What: procedure tracing
  2844. Where: From the contact
  2845. Description: Tcl procedure tracing package.
  2846. Contact: bsmith@mickey.CS.Berkeley.EDU (Brian Smith)
  2847.  
  2848. What: Safe Tcl Interpreter
  2849. Where: From the contact
  2850. Description: Tcl cmds to provide some level of security.
  2851. Contact: karl@NeoSoft.com (Karl Lehenbauer)
  2852.  
  2853. What: secure tcl
  2854. Where: From the contact
  2855. Description: Extension to provide a send message evaluator
  2856. Contact: fine@cis.ohio-state.edu (Thomas A Fine)
  2857.  
  2858. What: showproc.tcl
  2859. Where: harbor.ecn.purdue.edu:/pub/tcl/code/showproc.tcl
  2860. Description: A new showproc
  2861. Contact: lance@markv.com (Lance Ellinghouse)
  2862.  
  2863. What: SIPP extensions
  2864. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tsipp3.0b.tar.Z ,
  2865.     ftp.uu.net:/graphics/3D/tsipp.3.0b.tar.Z
  2866. Description: 3D rendering toolkit for Tcl and Tk based on the SImple 
  2867.     Polygon Processor (SIPP)
  2868. Contact: markd@grizzly.com (Mark Diekhans)
  2869.  
  2870. What: Spreadsheet 
  2871. Where: From the contact
  2872. Description: Tk Spreadsheet like widget, which consists of a number of
  2873.     other widgets.
  2874. Contact: cstruble@gnu.ai.mit.edu. (Craig 'Mover and Shaker' Struble)
  2875.  
  2876. What: System V ipc
  2877. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/SVipc.tar.Z
  2878. Description: Tcl interface to System V IPC facilities.
  2879. Contact: "Joe Kelsey" <kelsey@mdd.comm.mot.com>
  2880.  
  2881. What: Sybase Tcl
  2882. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/sybtcl-1.3.tar.Z
  2883. Description: Tk 3.0+ interface to Sybase database server.
  2884. Contact: tpoindex@nyx.cs.du.edu (Tom Poindexter)
  2885.  
  2886. What: tclcompare
  2887. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclcompare
  2888. Description: Compare two lists for equality
  2889. Contact: "David Herron" <david@twg.com>
  2890.  
  2891. What: tcl debugger
  2892. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tcl.debugger
  2893. Description: extended Tcl source level debugger (patch to tclX)
  2894. Contact: "Karl Lehenbauer" <karl@NeoSoft.com>
  2895.  
  2896. What: Tcl-DP
  2897. Where: toe.berkeley.edu:/pub/multimedia/Tcl-DP/tcl-dp-v1.0ak.tar.Z
  2898.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tcl-dp-v1.0ak.tar.Z
  2899. Description: Tcl Distibuted Programming - a public domain extension to 
  2900.     Tcl 6.5/Tk 3.0 which adds TCP/IP connection management, remote
  2901.     procedure call and distributed object protocols to Tcl/Tk.
  2902. Contact: tcl-dp@roger-rabbit.CS.Berkeley.EDU or
  2903.     tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
  2904.  
  2905. What: Tcl externals
  2906. Where: From the contact
  2907. Description: Tcl 6.x package to implement external variables.
  2908. Contact: stolcke@ICSI.Berkeley.EDU (Andreas Stolcke)
  2909.  
  2910. What: tclIV
  2911. Where: cpsc.ucalgary.ca:/pub/tclIV.tar.Z
  2912. Description: Tk wrappers for InterViews 3.1 widgets.
  2913. Contact: roseman@cpsc.ucalgary.ca (Mark Roseman)
  2914.  
  2915. What: tclMIDI
  2916. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclm-1.0.tar.Z ,
  2917.     harbor.ecn.purdue.edu:/pub/tcl/extensions/xdrum-1.0.tar.Z ,
  2918.     ftp.sterling.com:/usenet/comp.sources.misc/packages/xdrum ,
  2919.     ftp.sterling.com:/usenet/comp.sources.misc/packages/tclm ,
  2920.     other comp.sources.misc archives
  2921. Description: Tclm is Tcl extended with Standard MIDI file manipulation 
  2922.     commands.  xdrum is an extended Tk user interface with a new 
  2923.     drum widget, which combines to create wishm.  Also includes Xdrum
  2924.     wishm script, which allows you to edit MIDI drum patterns.
  2925. Contact: durian@advtech.uswest.com (Mike Durian)
  2926.  
  2927. What: tclOBST
  2928. Where: ftp.fzi.de:/pub/OBST/OBST3-3 directory
  2929. Description: Tcl library for the OBST persistent object management system.
  2930. Contact: stone@fzi.de
  2931.  
  2932. What: Tcl Packages
  2933. Where: toadflax.cs.ucdavis.edu:/pub/TclPackage.tar.Z
  2934. Description: Provide ability to create enclosed groups of code which the
  2935.     user can load as a unit.
  2936. Contact: beard@toadflax.cs.ucdavis.edu (Patrick C. Beard)
  2937.  
  2938. What: tclprof
  2939. Where: From the contact
  2940.     harbor.ecn.purdue.edu:/pub/tcl/code/tclprof.shar.Z
  2941. Description: Tcl performance profiling facility.  Works with Tcl 6.4.
  2942.     Comes as a part of Extended Tcl, but does not require it.
  2943. Contact: markd@grizzly.com (Mark Diekhans)
  2944.  
  2945. What: tclRawTCP
  2946. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclRawTCP.shar.Z,
  2947.     coma.cs.tu-berlin.de
  2948. Description: Raw TCP package for Tcl/Tk based on tcpConnect
  2949. Contact: "Tim MacKenzie" <tym@dibbler.cs.monash.edu.au>
  2950.  
  2951. What: tclsql
  2952. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclsql-1.0.tar.Z
  2953. Description: tclsql is a Tcl interface  to  SQL
  2954.     (Structured  Query Language).  Tclsql is probably INGRES 6.4
  2955.     specific, but it could be ported  to  other  SQL  platforms.
  2956. Contact: cxh@arsenic.berkeley.edu (Christopher Hylands)
  2957.  
  2958. What: tclsockets
  2959. Where: From the contact
  2960. Description: Extended Tcl interface to BSD sockets
  2961. Contact: lance@markv.com (Lance Ellinghouse)
  2962.  
  2963. What: tclTCP
  2964. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclTCP-1.0.tar.Z
  2965. Description: Extended Tcl BSD socket library interface
  2966. Contact: "Kevin B. Kenny" <kennykb@crd.ge.com>
  2967.  
  2968. What: tclvogle
  2969. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclvogle.tar.Z ,
  2970.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tclvogleDOCS.tar.Z ,
  2971.     harbor.ecn.purdue.edu:/pub/tcl/extensions/vogleWish.sun4.exe.Z
  2972. Description: Tk [23]-D drawing widgets (alpha)
  2973. Contact: "Mike Hoegeman" <mh@wx.gtegsc.com>
  2974.  
  2975. What: Tcl SQL
  2976. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclql-1.0.tar.Z
  2977. Description: Tcl interface to SQL (INGRES 6.4 specific, but portable).
  2978. Contact: "Christopher Hylands" <cxh@arsenic.berkeley.edu>
  2979.  
  2980. What: tcl_streams
  2981. Where: From the contact
  2982. Description: System V stream I/O library for Tcl
  2983. Contact: peter@taronga.com (Peter da Silva)
  2984.  
  2985. What: tclX dynamic library patches
  2986. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclX_dld.shar.Z
  2987. Description: Patches to tclX to support GNU dld (v. 3.2.3) dynamic libraries.
  2988. Contact: adrianho@barkley.berkeley.edu (Adrian J Ho)
  2989.  
  2990. What: tclX / Tk merge
  2991. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tclX-tk2.0.shar.Z
  2992. Description: Replacement files to incorporate tclX with Tk 2.x
  2993. Contact: markd@grizzly.com (Mark Diekhans)
  2994.  
  2995. What: tclXt
  2996. Where: posted to comp.lang.tcl - other locations unknown
  2997. Description: Tk hooks to allow calls to Xt routines.
  2998. Contact: Unknown
  2999.  
  3000. What: tcpConnect
  3001. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tcpConnect.shar.Z
  3002. Description: Tcl/Tk TCP connect and Tk filehandler extensions
  3003. Contact: "Pekka Nikander" <pnr@innopoli.ajk.tele.fi>
  3004.  
  3005. What: tk Bell and Cutbuffer patches
  3006. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/bellcut3.2.pat ,
  3007.     harbor.ecn.purdue.edu:/pub/tcl/extensions/bellcut.shar.Z ,
  3008.     harbor.ecn.purdue.edu:/pub/tcl/extensions/tkBellCutbuffer.shar.Z
  3009. Description: Tk 3.2, 2.3, and 2.1 patches to add bell and cutbuffer commands.
  3010. Contact: "Jim Davis" <davis@dri.cornell.edu>,
  3011.     Rick_Ohnemus@imd.sterling.com (Richard Ohnemus)
  3012.  
  3013. What: Tk Emacs
  3014. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/TkEmacs1.3.tar.Z
  3015. Description: Emacs widget for the Tk widget set.  Allows emacs-lisp code to
  3016.     be sent to emacs and Tcl code to be sent from emacs to Tcl.
  3017.     Works with tk2.3 and tk3.0 (and should work with tk3.1 when it
  3018.     is available).  Contains patches for GNU Emacs 18.58 and 18.59.
  3019. Contact: "Sven Delmas" <garfield@cs.tu-berlin.de>
  3020.  
  3021. What: tkFScale
  3022. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tkFScale.tar.Z
  3023. Description: Tk 3.2 Scale widget which uses floating-point values.
  3024. Contact: "Paul Mackerras" <paulus@cs.anu.edu.au>
  3025.  
  3026. What: tkGLXwin
  3027. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tkGLXwin-1.1.tar.Z,
  3028.     media.mit.edu:/pub/tkGLXwin-1.1.tar.Z
  3029. Description: Tk 3.x Silicon Graphics Graphics Library widget interface.
  3030. Contact: "Michael Halle" <halazar@media.mit.edu>
  3031.  
  3032. What: tk-mod.shar
  3033. Where: From the contact
  3034. Description: Alternative geometry managers for Tk 1.4
  3035. Contact: pnr@innopoli.ajk.tele.fi
  3036.  
  3037. What: tk RichText Format widget
  3038. Where: multimedia.cc.gatech.edu:/pub/tk-rtf-0.1.tar.Z
  3039. Description: Tk based Microsoft RichText File Format widget reader (pre-alpha).
  3040. Contact: iansmith@haring.cc.gatech.edu (Ian Smith)
  3041.  
  3042. What: tkText
  3043. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tkText-inst.tar.Z
  3044. Description: A Tk 1.3 tkText text widget and installation patches
  3045. Contact: "Derrick C. Cole" <cole@concert.net>
  3046.  
  3047. What: tkText
  3048. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tkText.shar.Z
  3049. Description: A Tk 1.3 tkText text widget
  3050. Contact: "M. G. Christenson" <mgc@cray.com>
  3051.  
  3052. What: tkText
  3053. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/tkText-2.0.tar.Z
  3054. Description: A Tk 2.0 tkText text widget
  3055. Contact: "M. G. Christenson" <mgc@cray.com>
  3056.  
  3057. What: tree widget
  3058. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/te-3.2.tar.Z
  3059. Description: Tk 3.2 based widget for displaying dynamic trees.
  3060. Contact: allan@piano.sta.sub.org (Allan Brighton)
  3061.  
  3062. What: turtle graphics
  3063. Where: From the contact
  3064. Description: Extended Tcl/Tk turtle graphics package
  3065. Contact: kjx@comp.vuw.ac.nz (R James Noble)
  3066.  
  3067. What: validate
  3068. Where: From the contact
  3069. Description: example of using bindings to validate entry widget data.
  3070. Contact: vanandel@rsf.atd.ucar.edu (Joe VanAndel)
  3071.  
  3072. What: Variable Frames
  3073. Where: From the contact
  3074. Description: A Tcl replacement for uplevel/upvar to provide a user with the
  3075.     ability to define scoping environments for variables.
  3076. Contact: cimarron@blake.miro.com (Cimarron Taylor)
  3077.  
  3078. What: warp
  3079. Where: From the contact
  3080. Description: Tk warp command to move the mouse point to specific locations.
  3081. Contact: fine@cis.ohio-state.edu (Thomas A Fine)
  3082.  
  3083. What: wmstuff
  3084. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/wmstuff.tar.Z ,
  3085.     harbor.ecn.purdue.edu:/pub/tcl/extensions/wmstuff.patch1.shar.Z
  3086. Description: Tk support for ICCCM WM_PROTOCOLS & WM_DELETE
  3087. Contact: "Mike Hoegeman" <mh@wx.gtegsc.com>
  3088.  
  3089. What: Xpm support
  3090. Where: harbor.ecn.purdue.edu:/pub/tcl/extensions/TkPixmap1.5.tar.Z ,
  3091.     coma.cs.tu-berlin.de
  3092. Description: Tk 2.3/3.0 tkBitmap.c modification to support Xpm 3.2d pixmaps.
  3093.     Versions supporting previous Tk's are also available.
  3094. Contact: garfield@cs.tu-berlin.de (Sven Delmas)
  3095.  
  3096. What: 
  3097. Where: 
  3098. Description: 
  3099. Contact: 
  3100.  
  3101. ------------------------------
  3102.  
  3103. From: FAQ Tcl/Tk Package Catalog
  3104. Subject: -XIV- Is there any commercial use of Tcl/Tk?
  3105.  
  3106. A list of commercial packages which use Tcl/Tk is being maintained by
  3107. larry@tweety.cs.berkeley.edu (Larry Rowe).  Contact him for details.
  3108.  
  3109. NeoSoft Communications Services - (713) 684-5900 - provides
  3110. commercial support for developing Tcl applications, in short-term hourly,
  3111. long-term hourly, or fixed-price variations.  They have long term experience
  3112. with Tcl.
  3113.  
  3114. ------------------------------
  3115.  
  3116. End of comp.lang.tcl Frequently Asked Questions (3/3)
  3117. *****************************************************
  3118. -- 
  3119. :s 
  3120. :s Larry W. Virden                 INET: lvirden@cas.org
  3121. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  3122. -- 
  3123. :s 
  3124. :s Larry W. Virden                 INET: lvirden@cas.org
  3125. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  3126.